From: Richard Palethorpe <rpalethorpe@suse.de>
To: william.roche@oracle.com
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [LTP PATCH v2 0/1] Add some memory page soft-offlining control
Date: Mon, 13 Feb 2023 09:34:23 +0000 [thread overview]
Message-ID: <87lel1q54q.fsf@suse.de> (raw)
In-Reply-To: <20230127100553.29986-1-william.roche@oracle.com>
Hello,
william.roche@oracle.com writes:
> From: William Roche <william.roche@oracle.com>
>
> After a long delay (since August) and many days of work on this topic,
> I come back with a new version of this test proposal.
> This version is still using a set of threads running the same code and
> competing with each other. They all allocate a set of memory pages,
> write a sentinel value into each of them and soft-offline them before
> verifying the sentinel value and unmapping them - in a loop.
>
> I've tried to address all the feedbacks I had:
>
> - added madvise11 to the runtest/syscalls file [Petr]
> - more complete and compliant Description comment [Petr]
> - removed no longer used header files
> - removed inline comments [Petr + Richard]
> - removed unnecessary comments [Petr]
> - number of threads dynamically tuned (with limits) [Richard]
> - warn about unexpected mmap errors [Richard]
> - lower case (not camel) variable names [Petr + Richard]
> - removal of an unneeded temporary "copy" variable [Richard]
> - removed unnecessary additional checks of SAFE_* functions [Petr]
> - removed the min_kver=2.6.33 [Petr]
> - added the commit id into the test_tst structure [Richard]
> - "make check-madvise11" is now clean [Petr + Richard]
>
> But also:
>
> - separate functions for mmap and madvise (dealing with error cases)
> - simplified the page sentinel value setting and verification
> - give information about number of threads and memory to be used by an
> iteration of the test
> - count the iterations to unpoison the right number of pages in case of
> multiple successful iterations
> - moved sigaction setting to setup()
> - SAFE_MALLOC() used
> - significantly reduced the number of threads used
> - significantly reduced the runtime timeout
>
>
>
> Note about the tst_fuzzy_sync framework use:
> What required the largest part of my work was this aspect that has been
> mentioned by Richard, as I agree with him about putting the emphasis on
> the competing critical sections of code (mmap and madvise). I finally
> could create a version of this test using the tst_fuzzy_sync mechanism
> that could reproduce the race condition.
> But I chose not to use it for the following reasons:
> - my fuzzy version was not as reliable as the multithreaded version to
> identify our race condition -- On a kernel where the race fixed by
> d4ae9916ea29 is still there, the fuzzy version of the test could give
> false positive results on about 10% of the runs, where this
> multithreaded version hasn't shown a false positive in my tests.
> - Another reason why I chose to submit this multithreaded test version is
> that it is generally (about 80% of the cases) much faster to fall on
> the race condition than the fuzzy version.
>
> So I hope you'll find this multithreaded test useful.
> Tested on ARM and x86.
OK, just looking now. There was a two week delay because I was focused
on non LTP stuff.
>
>
> William Roche (1):
> madvise11: Add test for memory allocation / Soft-offlining possible
> race
>
> runtest/syscalls | 1 +
> testcases/kernel/syscalls/madvise/.gitignore | 1 +
> testcases/kernel/syscalls/madvise/Makefile | 3 +
> testcases/kernel/syscalls/madvise/madvise11.c | 405 ++++++++++++++++++
> 4 files changed, 410 insertions(+)
> create mode 100644 testcases/kernel/syscalls/madvise/madvise11.c
--
Thank you,
Richard.
--
Mailing list info: https://lists.linux.it/listinfo/ltp
prev parent reply other threads:[~2023-02-13 9:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-08 16:11 [LTP] [LTP PATCH v1 0/1] Add some memory page soft-offlining control William Roche
2022-08-08 16:11 ` [LTP] [LTP PATCH v1 1/1] syscalls/madvise11: " William Roche
2022-08-10 17:00 ` Petr Vorel
2022-08-10 20:18 ` William Roche
2022-08-11 7:34 ` Petr Vorel
2022-08-13 19:59 ` Petr Vorel
2022-08-13 20:28 ` Petr Vorel
2022-08-16 9:18 ` Richard Palethorpe
2023-01-27 10:05 ` [LTP] [LTP PATCH v2 0/1] " william.roche
2023-01-27 10:05 ` [LTP] [LTP PATCH v2 1/1] madvise11: Add test for memory allocation / Soft-offlining possible race william.roche
2023-02-13 10:00 ` Richard Palethorpe
2023-02-20 10:26 ` [LTP] [LTP PATCH v3 0/1] Add some memory page soft-offlining control william.roche
2023-02-20 10:26 ` [LTP] [LTP PATCH v3 1/1] madvise11: Add test for memory allocation / Soft-offlining possible race william.roche
2023-02-27 10:16 ` Richard Palethorpe
2023-02-13 9:34 ` Richard Palethorpe [this message]
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=87lel1q54q.fsf@suse.de \
--to=rpalethorpe@suse.de \
--cc=ltp@lists.linux.it \
--cc=william.roche@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox