-
Notifications
You must be signed in to change notification settings - Fork 97
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
add build config and test-plan for PREEMPT_RT #475
Conversation
Makes sense to me. |
7b66a16
to
904c057
Compare
6e05adc
to
00489c0
Compare
Manually triggered LAVA job: https://lava.baylibre.com/scheduler/job/31249 @gctucker something kind of curious. The frontend shows some of the results as unknown, but the LAVA_SIGNAL sent says fail. Here's the relevant part of the LAVA job log:
|
@khilman Yes that's because tests that have always been reporting a "FAIL" are not considered as regressions. It's an artifact of the UI in the frontend, we should show the status differently to reflect failures that aren't regressions. Something like this maybe:
That deserves an issue in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build-configs.yaml
Outdated
configs: | ||
- 'CONFIG_EXPERT=y' | ||
- 'CONFIG_PREEMPT_RT=y' | ||
- 'CONFIG_PREEMPT_RT_FULL=y' # <= v4.19 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it won't hurt to have this config in the fragment with newer kernel, as it should just result in a warning from merge_config.sh
. If however we start having strict checks and all the config options must appear in the resulting .config
then we would need to create a separate fragment, e.g. preempt_rt_4.19
with that RT_FULL
config option and the default one without it.
00489c0
to
67ea625
Compare
Fixed alphabetical order issues mentioned above and rebased onto master now that kselftest is merged. |
Great, the PR had been conflicting for a while so let's hope this gets tested in the next staging job. |
name: preempt-rt-prereq | ||
path: inline/preempt-rt-prereq.yaml | ||
|
||
- repository: https://github.com/igaw/test-definitions.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be getting those test definitions from kernelci/test-definitions
now, with the kernelci.org
branch. Let's get a couple of staging jobs to run with this repo first but then we would need to get it changed before deploying in production.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we'll get any runs on staging because there are no rt-stable trees built in staging. Maybe you add rt-stable v5.4 at least temporarily?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like I need to switch to the kernelci repo right now. Daniel submitted his stuff upstream and removed his preempt-rt
branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Starting tree monitor jobs for some stable-rt build configs manually is fine for now, we shouldn't be building that all the time as it's a significant load. If we do want to keep testing real-time on staging, we should make a special build config i.e. kernelci_staging-rt
or pull from stable-rt into the kernelci staging kernel branch.
67ea625
to
229750a
Compare
Updated to use test-definitions repo/branch from kernelci, and dropped rootfs pattern based on comments. Results from manually submitted jobs: https://staging.kernelci.org/test/job/rt-stable_v5.4-rt/branch/HEAD/kernel/v5.4.61-rt37/plan/preempt-rt/ LAVA jobs:
|
https://staging.kernelci.org/test/case/id/5f63999274b6645009581060/ I don't know what went wrong, looks like an unsigned integer overflow. What is in the original LAVA results? That would help narrow down the problem, between LAVA, kernelci-backend or kernelci-frontend. |
The results sent to the backend match the results from LAVA: https://lava.baylibre.com/scheduler/job/117611#L1293 So this looks like a cyclictest issue, not something related to the test-definition or this PR. IMO, we can merge this and then get rt-tests folks like Daniel Wagner to have a look. |
Great, thanks for confirming. How about the item in the description to add parameters such as number of threads? |
I meant for that to be a future work item as more platforms are added, not a prereq for this PR. |
Here's some results from the khadas-vim3l (arm64: 2x A53): https://lava.baylibre.com/scheduler/job/118418#L1361 Those look more normal than the odroid-n2 (arm64: big.LITTLE 2x A53, 4x A72) |
description: Pre-requisites for PREEMPT_RT | ||
run: | ||
steps: | ||
- apt-get update && apt-get install -y procps rt-tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like something to add to the rootfs image as a follow-up - either buster-rt
if we want to keep adding test suites for real-time, if not this could be added to the basic buster
one to avoid rootfs proliferation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this can be done if/when creating a test-plan specific rootfs.
1) add config fragments for building RT-enabled kernels for the rt-stable tree and branches. 2) Add preempt_rt_variant for minimal set of builds. Based on minimal_variant, and adds preempt_rt fragment. 3) Add v4.19-rt and v5.4-rt branches Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Add preempt-rt test-plan based on the Linaro test-definitions repo. Uses vanilla KernelCI debian buster NFS root filesystem, and installs rt-tests (and dependencies) via apt-get before running the test plan. Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
229750a
to
d19b9e0
Compare
Add minimal set of build configurations, including PREEMPT_RT=y config for the rt-stable branches.
Also add a test-plan based on LAVA test-definition from Daniel Wagner's fork of LInaro test-definition repo.
NOTE: PR currently based on the kselftest PR #445 due to conflicts in adding test-plan to test-configs and lab-configs.
Things to fix