[RFC PATCH 5/6] selftests: run tests on nommu architecture
Hajime Tazaki
thehajime at gmail.com
Sat Aug 15 14:58:01 PDT 2026
On Fri, 14 Aug 2026 21:50:50 +0900,
Lorenzo Stoakes (ARM) wrote:
>
> Not really loving this as mentioned on the cover letter.
>
> I'm sympathetic to making things work if it's not invasive, but now you've
> essentially asking new test authors be aware of this to some degree.
It is not intentional that new test authors should have to think about
NOMMU=1. If there are no option specified it should be as what
the current kselftest is and it it's not, it's a design failure of mine.
> And making the harness - which is the defacto way of writing tests - now
> simply not work there is a bit crazy.
>
> I'd ideally like to see _all_ tests use the harness.
I also think so but if NOMMU tests is implemented using the harness
test, this patchset would be invasive. This one is very small patch
which tries to:
- add ability to run tests on nommu
- with minimum modifications and not breaking any existing usage of
kselftest
which are, I guess, what you're suggesting.
> Also a bunch of the tests already do forking as part of the testing:
>
> $ cd tools/testing/selftests/mm
> $ rg -l "fork\(" | wc -l
> 17
>
> So at this point you're not really running much of the selftests at all,
> and are only happening to run those that don't do the very basic stuff
> nommu can't deal with.
the current situation is exactly what you described. `TARGETS=mm` is
able to only build with NOMMU=1, but onlyis runnable with nommu_*_test
(I need to specify `-t nommu_mmap_test -t nommu_mremap_test` to pass
tests from a run.
Now I'm thinking to create a different target (e.g., `TARGETS=mm/nommu`)
to make it more clear for this situation.
Existing tests even in selftests/mm should not involve these new tests
which has such limitation.
> I think an audit of existing tests to figure out what works with nommu vs
> what doesn't is really unreasonable again, given nobody tests or seemingly
> uses these arches.
>
> So this patch might beget more nommu carve outs and exceptions and
> therefore nommu workload and maintenance, which isn't really sustainable.
I can understand but without tests we cannot easily detect regressions
in future. Like when you applied broad changes into mm and try to
apply also to nommu.c, I believe these tests are also useful to verify
the extension, especially if the changes are not trivial.
# sorry, this might be too obvious for you..
> I know I complain about lack of testing on nommu, but at the same time I
> don't think running arbitrary tests that happen to work on it and who knows
> if they are valid asserts anyway really fixes things.
agree.
I think (current) nommu isn't ready to run arbitrary tests of mm.
> And given nobody really is doing testing, it's not really a great RoI
> here...
At least myself, for the moment, has an interest.
> ...OTOH I suppose it's a minimal change we can largely ignore as long as
> this doesn't lead to additional work/auditing from anybody but nommu
> enthusiasts.
>
> But I'm just not sure that will be the case :(
again, this (not breaking existing model) is my intention so, this
should be the case, and if it's not it should be addressed in this
series.
> (I'm amazed we support a mode in linux that can't fork() in 2026 :)
I concur.
> > ---
> > Documentation/dev-tools/kselftest.rst | 12 ++++++++++++
> > tools/testing/selftests/kselftest/runner.sh | 9 +++++++--
> > tools/testing/selftests/kselftest_harness.h | 4 ++++
> > tools/testing/selftests/lib.mk | 8 ++++++++
> > 4 files changed, 31 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst
> > index 64c0ec7428a2..800b2b688aff 100644
> > --- a/Documentation/dev-tools/kselftest.rst
> > +++ b/Documentation/dev-tools/kselftest.rst
> > @@ -230,6 +230,18 @@ section::
> >
> > .. _tar's auto-compress: https://www.gnu.org/software/tar/manual/html_node/gzip.html#auto_002dcompress
> >
> > +Build and test on nommu target
> > +==============================
> > +
> > +If you (cross-)build kselftests for nommu targets, or run tests on nommu targets, use
-- Hajime
More information about the linux-um
mailing list