Skip to content

lava: Install the kselftest tarball using an overlay #2840

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

broonie
Copy link
Member

@broonie broonie commented Apr 10, 2025

Currently the kselftest LAVA jobs that KernelCI generates have the test
job download the kselftest tarball onto the device. This has a couple
of disadvantages:

  • Any caching that is configured for the LAVA worker will be bypassed,
    increasing network traffic both for the lab and for the KernelCI
    storage server.
  • The entire kselftest tarball has to be downloaded onto the test
    system, and if (as is usual) it is a NFS filesystem then an
    uncompressed copy written over the network to the LAVA worker.

The test-definitions integration for kselftest also supports running a
copy that is already installed in the filesystem, and LAVA supports
adding files onto the root filesystem via it's overlay mechanism, so we
can avoid the overheads of downloading directly to the device by having
LAVA apply the kselftest tarball to the root filesystem as an overlay
instead.

A commit was previously merged doing this for the legacy LAVA templates,
this updates the Maestro ones.

Signed-off-by: Mark Brown broonie@kernel.org

@broonie
Copy link
Member Author

broonie commented Apr 11, 2025

Not seeing this take effect in the staging run that's currently got jobs in my lab: https://lava.sirena.org.uk/scheduler/job/1283336/definition - not sure what's going on there?

@nuclearcat
Copy link
Member

Let's try to test it again on staging. I remember last time i tried and failed, but we should try again.
@broonie can you rebase it please?

@padovan
Copy link
Contributor

padovan commented Aug 14, 2025

issues review meeting:
@broonie is still trying to figure how to test for the presence of the tarball (that has kselftest inside).

@padovan padovan requested a review from nuclearcat August 14, 2025 12:02
Currently the kselftest LAVA jobs that KernelCI generates have the test
job download the kselftest tarball onto the device.  This has a couple
of disadvantages:

 - Any caching that is configured for the LAVA worker will be bypassed,
   increasing network traffic both for the lab and for the KernelCI
   storage server.
 - The entire kselftest tarball has to be downloaded onto the test
   system, and if (as is usual) it is a NFS filesystem then an
   uncompressed copy written over the network to the LAVA worker.

The test-definitions integration for kselftest also supports running a
copy that is already installed in the filesystem, and LAVA supports
adding files onto the root filesystem via it's overlay mechanism, so we
can avoid the overheads of downloading directly to the device by having
LAVA apply the kselftest tarball to the root filesystem as an overlay
instead.

A commit was previously merged doing this for the legacy LAVA templates,
this updates the Maestro ones.

Signed-off-by: Mark Brown <broonie@kernel.org>
@broonie broonie force-pushed the kselftest-overlay branch from c973448 to 8eb3d5c Compare August 20, 2025 12:30
The devices/error_logs kselftest isn't really a test per se, more it's
something that exists to report errors generated by other tests.  Let's
take advantage of that (and the fact that we are overlaying the
kselftest tarball unconditionally at the minute) by running it at the
end of each test job.

Signed-off-by: Mark Brown <broonie@kernel.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants