From: Hajime Tazaki <thehajime@gmail.com>
To: ljs@kernel.org
Cc: linux-mm@kvack.org, liam@infradead.org, rbm@suse.com,
akpm@linux-foundation.org, luto@amacapital.net,
brendan.jackman@linux.dev, david@kernel.org,
liuhangbin@gmail.com, corbet@lwn.net, kees@kernel.org,
broonie@kernel.org, mhocko@suse.com, rppt@kernel.org,
shuah@kernel.org, surenb@google.com, vbabka@kernel.org,
wad@chromium.org, linux-doc@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-um@lists.infradead.org,
geert@linux-m68k.org, daniel@thingy.jp
Subject: Re: [PATCH v2 1/2] selftests: run tests on nommu architecture
Date: Thu, 27 Aug 2026 17:36:59 +0900 [thread overview]
Message-ID: <m2zey8ufh0.wl-thehajime@gmail.com> (raw)
In-Reply-To: <ao2aTD1ZGObPfp4T@gremlin>
Hello,
On Tue, 25 Aug 2026 22:36:22 +0900,
Lorenzo Stoakes (ARM) wrote:
> > diff --git a/tools/testing/selftests/kselftest/runner.sh b/tools/testing/selftests/kselftest/runner.sh
> > index 311811dc55a0..7287d8290b6c 100644
> > --- a/tools/testing/selftests/kselftest/runner.sh
> > +++ b/tools/testing/selftests/kselftest/runner.sh
> > @@ -38,8 +38,12 @@ tap_prefix()
> >
> > tap_timeout()
> > {
> > + # nommu doesn't support timeout command (missing fork(2))
> > + if [ "$NOMMU" = "1" ] ; then
> > + echo "timeout isn't supported for nommu"
> > + $1
> > # Make sure tests will time out if utility is available.
> > - if [ -x /usr/bin/timeout ] ; then
> > + elif [ -x /usr/bin/timeout ] ; then
> > /usr/bin/timeout --foreground "$kselftest_timeout" \
> > /usr/bin/timeout "$kselftest_timeout" $1
> > else
> > @@ -130,6 +134,7 @@ run_one()
> > return $KSFT_FAIL
> > fi
> > fi
> > + OLDDIR=$(pwd)
> > cd `dirname $TEST` > /dev/null
> > (((( tap_timeout "$cmd" 2>&1; echo $? >&3) |
> > tap_prefix >&4) 3>&1) |
> > @@ -147,7 +152,7 @@ run_one()
> > *)
> > ktap_test_fail "$TEST_HDR_MSG # exit=$rc";;
> > esac
> > - cd - >/dev/null
> > + cd "$OLDDIR" >/dev/null
>
> Hmm, why are you changing this bit?
on nommu we cannot use /bin/bash (i.e., no fork(2) so, we use
/bin/hash, a busybox-offered shell with vfork.
with this `cd -` (standards specified) isn't implemented due to slim
requirement of that shell (I suppose, miserable...).
thus this workaround.
> > fi
> >
> > return $rc
> > diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h
> > index 261e4df94d9d..0d05946a5e7a 100644
> > --- a/tools/testing/selftests/kselftest_harness.h
> > +++ b/tools/testing/selftests/kselftest_harness.h
> > @@ -1274,6 +1274,10 @@ static int test_harness_run(int argc, char **argv)
> > unsigned int count = 0;
> > unsigned int pass_count = 0;
> >
> > +#ifdef CONFIG_NOMMU
>
> Let's not prefix with CONFIG_ :) I think this is pretty confusing vs. the kernel
> CONFIG_xxx flags, esp. as this obviously inverts CONFIG_MMU.
>
> maybe just 'NOMMU'?
thanks, I will remove CONFIG_ part.
initially I was trying to pull generated/autoconf.h into kselftest but
it doesn't do much compared to many modifications (run_kselftest.sh
needs to run independently from build tree) so, I used this macro but,
yes, it's confusing.
> > + ksft_print_header();
> > + ksft_exit_skip("kselftest harness requires fork(2), unavailable on NOMMU\n");
> > +#endif /* CONFIG_NOMMU */
> > ret = test_harness_argv_check(argc, argv);
> > if (ret != KSFT_PASS)
> > return ret;
> > diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> > index f02cc8a2e4ae..fdb895967768 100644
> > --- a/tools/testing/selftests/lib.mk
> > +++ b/tools/testing/selftests/lib.mk
> > @@ -97,6 +97,14 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
> > TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
> > TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
> >
> > +# detect if users request NOMMU build or not
> > +# User can set NOMMU to 1 to build/test for NOMMU platforms
> > +NOMMU ?= 0
> > +ifeq ($(NOMMU),1)
> > +CFLAGS += -DCONFIG_NOMMU
> > +export NOMMU
> > +endif
> > +
>
> I wonder if this could be put into testing/selftests/nommu/something.mk? Though
> I guess would have to be included for all builds to account for nommu trying to
> build any kind of tests.
yes, in addition to moving to selftests/nommu this can be more cleaner
initial introduction of this target.
thanks for reviewing.
-- Hajime
next prev parent reply other threads:[~2026-08-27 8:37 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-25 1:59 [PATCH v2 0/2] support kselftest on nommu platform Hajime Tazaki
2026-08-25 1:59 ` [PATCH v2 1/2] selftests: run tests on nommu architecture Hajime Tazaki
2026-08-25 13:36 ` Lorenzo Stoakes (ARM)
2026-08-27 8:36 ` Hajime Tazaki [this message]
2026-08-27 12:15 ` Mark Brown
2026-08-25 1:59 ` [PATCH v2 2/2] selftests/mm: add nommu mmap and mremap behavior tests Hajime Tazaki
2026-08-25 8:37 ` [PATCH v2 0/2] support kselftest on nommu platform David Hildenbrand (Arm)
2026-08-25 13:12 ` Lorenzo Stoakes (ARM)
2026-08-25 14:17 ` David Hildenbrand (Arm)
2026-08-25 14:28 ` Lorenzo Stoakes (ARM)
2026-08-27 8:46 ` Hajime Tazaki
2026-08-27 8:49 ` Lorenzo Stoakes (ARM)
2026-08-27 8:57 ` Hajime Tazaki
2026-08-27 11:32 ` Lorenzo Stoakes (ARM)
2026-09-01 14:28 ` Johannes Berg
2026-09-01 14:44 ` Lorenzo Stoakes (ARM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2zey8ufh0.wl-thehajime@gmail.com \
--to=thehajime@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=brendan.jackman@linux.dev \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=daniel@thingy.jp \
--cc=david@kernel.org \
--cc=geert@linux-m68k.org \
--cc=kees@kernel.org \
--cc=liam@infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-um@lists.infradead.org \
--cc=liuhangbin@gmail.com \
--cc=ljs@kernel.org \
--cc=luto@amacapital.net \
--cc=mhocko@suse.com \
--cc=rbm@suse.com \
--cc=rppt@kernel.org \
--cc=shuah@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--cc=wad@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.