All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Wei Gao <wegao@suse.com>, Li Wang <liwang@linux.dev>, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v1] mmapstress06: TCONF on systems without swap space
Date: Tue, 28 Apr 2026 18:34:15 +0200	[thread overview]
Message-ID: <20260428163415.GB921372@pevik> (raw)
In-Reply-To: <20260428125804.GA921372@pevik>

Hi all,

> Hi all,

> > mmapstress06 is designed to stress the mfile_swap kernel primitive, which
Uh, I overlooked "mfile_swap kernel primitive". Then the approach would make
sense, but is it really true? mfile_swap does not exist any more, not even in a
git log. Test was added in January 2003, e.g. even before 2.6.

> > manages shared anonymous memory. On architectures with large pages (like
> > 64KB on ppc64le), the test's hardcoded request for 32769 pages results
> > in a ~2GB mapping. So in suse test system configured with 2GB of RAM and
> > no swap space, the test will fails with following information:

I'm not really sure. if that's caused by missing swap or would it work on
machine with RAM big enough which has swap disabled (I guess you retest with
e.g. 8 GB RAM). Otherwise I'd prefer prefer to deal with errno ENOMEM (12)
instead (as I pointed out previously).

Kind regards,
Petr

> > mmapstress06: errno = 12; large mmap failed
> > for this test to run, it needs a mmap space of
> > 32769 pages

> > The failure occurs because the 2GB request cannot be fulfilled within
> > the 2GB RAM limit without swap backing. Since the test specifically
> > intends to exercise swap-related logic (mfile_swap), it should be skipped
> > with TCONF when the system lacks swap space.

> > Signed-off-by: Wei Gao <wegao@suse.com>
> > ---
> >  testcases/kernel/mem/mmapstress/mmapstress06.c | 8 ++++++++
...
> > +	if (tst_available_swap() <= 0) {
> > +		tst_resm(TCONF, "Test requires swap space to exercise mfile_swap logic");
> Why to require swap for the test instead of checking for ENOMEM later?

> > +		tst_exit();
> nit: I'd use tst_brkm() although it has ugly "Remaining cases broken" message as
> it will be more obvious when doing rewrite.

> > +	}

> How about this? (with cleanup of ugly printf).

> Kind regards,
> Petr

> +++ testcases/kernel/mem/mmapstress/mmapstress06.c
> @@ -89,10 +89,12 @@ int main(int argc, char *argv[])
>  	    (mmapaddr, (ANON_GRAN_PAGES_MAX * NMFPTEPG + 1) * pagesize,
>  	     PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, 0,
>  	     0) == (caddr_t) - 1) {
> -		ERROR("large mmap failed");
> -		printf("for this test to run, it needs a mmap space of\n");
> -		printf("%d pages\n", (ANON_GRAN_PAGES_MAX * NMFPTEPG + 1));
> -		return 1;
> +		if (errno == ENOMEM) {
> +			tst_brkm(TCONF, NULL, "not enough memory or swap for mmap() %d pages",
> +					 ANON_GRAN_PAGES_MAX * NMFPTEPG + 1);
> +		}
> +
> +		tst_brkm(TBROK | TERRNO, NULL, "mmap() failed");
>  	}
>  	(void)sleep(sleep_time);
>  	(void)time(&t);

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2026-04-28 16:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-27 11:59 [LTP] [PATCH v1] mmapstress06: TCONF on systems without swap space Wei Gao via ltp
2026-04-27 12:26 ` Li Wang
2026-04-27 13:57   ` Wei Gao via ltp
2026-04-28  1:39     ` Li Wang
2026-04-27 13:57 ` [LTP] " linuxtestproject.agent
2026-04-28 11:52 ` [LTP] [PATCH v1] " Andrea Cervesato via ltp
2026-04-28 12:58 ` Petr Vorel
2026-04-28 16:34   ` Petr Vorel [this message]
2026-04-29  2:22     ` Wei Gao via ltp
2026-04-29  6:10       ` Petr Vorel
2026-04-30  8:01       ` Li Wang

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=20260428163415.GB921372@pevik \
    --to=pvorel@suse.cz \
    --cc=liwang@linux.dev \
    --cc=ltp@lists.linux.it \
    --cc=wegao@suse.com \
    /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.