Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analyze the rt-tests results and fix issues #439

Closed
musamaanjum opened this issue Aug 28, 2024 · 4 comments
Closed

Analyze the rt-tests results and fix issues #439

musamaanjum opened this issue Aug 28, 2024 · 4 comments
Assignees

Comments

@musamaanjum
Copy link

musamaanjum commented Aug 28, 2024

test result
cyclictest Pass
cyclicdeadline Pass
rtla-osnoise Error because of executor script [1]
rtla-timerlat kernel config is missing [2]
pi-stress error because of executor script in test-definition [3]
pmqtest pass
ptsematest pass
rt-migrate-test one test case failure (low priority)
signaltest pass
sigwaittest pass
svsematest pass

Failures:

[1]
 + ./rtla-osnoise.sh -d 60s -w hackbench
Failed to set runtime and/or period
Could not apply config
mv: cannot stat 'osnoise_thread_noise_hist.txt': No such file or directory
mv: cannot stat 'osnoise_irq_noise_hist.txt': No such file or directory
mv: cannot stat 'osnoise_sample_threshold_hist.txt': No such file or directory

[2]
+ ./rtla-timerlat.sh -d 60s -w hackbench
Tracer timerlat not found!
Failed to enable the timerlat tracer
Failed to enable timerlat tracer

[3]
+ ./pi-stress.sh -D 60s -m True -r false -w hackbench
./pi-stress.sh: 37: True: not found

Related to: #417

@musamaanjum musamaanjum self-assigned this Aug 28, 2024
@musamaanjum musamaanjum converted this from a draft issue Aug 28, 2024
@kernelci kernelci deleted a comment Aug 28, 2024
@kernelci kernelci deleted a comment from ViniciusSCG Aug 28, 2024
@kernelci kernelci deleted a comment from ViniciusSCG Aug 28, 2024
@kernelci kernelci deleted a comment Aug 28, 2024
musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 11, 2024
The priority of 96 if passed to rt-migrate causes failure. The test
isn't designed well to handle high priority of 96. The test takes this
priority and adds the count of number of tasks which becomes greater
than 99. The 99 is the highest priority level for SCHED_FIFO. Hence,
the priority setting of the main thread fails, we get warning and later
test failure:

  Warning, can't set priority of main thread!

Instead of fixing the test at this time, let's use priority of 90
instead of 96 such that the total priority of main thread remains below
highest priority level. We can set any other lower priority than 90 here
as well such as 51 which is set in the rt-migrate-test.sh by default.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 11, 2024
When MLOCKALL is set to 'true', the lava job has MLOCKALL becomes true
[1] which in turn translates to "True" while job execution [2]. It
causes error as the test expects true instead of True.

  ./pi-stress.sh -D 60s -m True -r false -w hackbench
  ./pi-stress.sh: 37: True: not found

Fix it by using double quotes instead.

[1] https://lava.collabora.dev/scheduler/job/15562666/definition#defline43
[2] https://lava.collabora.dev/scheduler/job/15562666#L220

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 16, 2024
Add missing configurations needed to run rtla timerlat and osnoise tests.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
@musamaanjum
Copy link
Author

Opened separate ticket for bug in test-definition scripts: Linaro/test-definitions#530

musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 16, 2024
Add missing configurations needed to run rtla timerlat and osnoise tests.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
github-merge-queue bot pushed a commit to kernelci/kernelci-core that referenced this issue Sep 20, 2024
The priority of 96 if passed to rt-migrate causes failure. The test
isn't designed well to handle high priority of 96. The test takes this
priority and adds the count of number of tasks which becomes greater
than 99. The 99 is the highest priority level for SCHED_FIFO. Hence,
the priority setting of the main thread fails, we get warning and later
test failure:

  Warning, can't set priority of main thread!

Instead of fixing the test at this time, let's use priority of 90
instead of 96 such that the total priority of main thread remains below
highest priority level. We can set any other lower priority than 90 here
as well such as 51 which is set in the rt-migrate-test.sh by default.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
github-merge-queue bot pushed a commit to kernelci/kernelci-core that referenced this issue Sep 20, 2024
Add missing configurations needed to run rtla timerlat and osnoise tests.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 20, 2024
Add missing configurations needed to run rtla timerlat and osnoise tests.

Relates kernelci/kernelci-project#439
Signed-off-by: Muhammad Usama Anjum <[email protected]>
musamaanjum added a commit to musamaanjum/kernelci-core that referenced this issue Sep 25, 2024
When MLOCKALL is set to 'true', the lava job has MLOCKALL becomes true
[1] which in turn translates to "True" while job execution [2]. It
causes error as the test expects true instead of True.

  ./pi-stress.sh -D 60s -m True -r false -w hackbench
  ./pi-stress.sh: 37: True: not found

Fix it by using double quotes inside single quotes.
- First set of quotations allows Jinja template engine to treat it as a
  string
- Second set is for LAVA to also treat is as string and prevent YAML
  parser from making it a bool

[3] is successful job after this change.

[1] https://lava.collabora.dev/scheduler/job/15562666/definition#defline43
[2] https://lava.collabora.dev/scheduler/job/15562666#L220
[3] https://lava.collabora.dev/scheduler/job/15790058

Relates kernelci/kernelci-project#439
Co-authored-by: Paweł Wieczorek <[email protected]>
Signed-off-by: Muhammad Usama Anjum <[email protected]>
github-merge-queue bot pushed a commit to kernelci/kernelci-core that referenced this issue Sep 28, 2024
When MLOCKALL is set to 'true', the lava job has MLOCKALL becomes true
[1] which in turn translates to "True" while job execution [2]. It
causes error as the test expects true instead of True.

  ./pi-stress.sh -D 60s -m True -r false -w hackbench
  ./pi-stress.sh: 37: True: not found

Fix it by using double quotes inside single quotes.
- First set of quotations allows Jinja template engine to treat it as a
  string
- Second set is for LAVA to also treat is as string and prevent YAML
  parser from making it a bool

[3] is successful job after this change.

[1] https://lava.collabora.dev/scheduler/job/15562666/definition#defline43
[2] https://lava.collabora.dev/scheduler/job/15562666#L220
[3] https://lava.collabora.dev/scheduler/job/15790058

Relates kernelci/kernelci-project#439
Co-authored-by: Paweł Wieczorek <[email protected]>
Signed-off-by: Muhammad Usama Anjum <[email protected]>
@musamaanjum
Copy link
Author

Adjust the timeout: kernelci/kernelci-core#2696

@musamaanjum
Copy link
Author

I'm checking the results after merging Linaro/test-definitions#530. We use https://github.com/kernelci/test-definitions in our jobs. I don't know why we have forked the original repository. I'll ask around and get the fork updated and re-run to get the latest results.

@musamaanjum
Copy link
Author

rt-tests0.html.txt

I ran all tests on the stable-rt v6.6-rt branch and all tests are passing. (Convert above file to html and view for results)

We use rtla package from debian respository to run 2 tests (osnoise and timerlat). This tools is present in the mainline (tools/tracing/rtla). We should install the latest tool from mainline instead of installing from debian package. Because of old package, these tests are partially run. I'll create a separate ticket for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

1 participant