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 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.