<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Richard,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Richard Palethorpe <<a href="mailto:rpalethorpe@suse.de">rpalethorpe@suse.de</a>> wrote:<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>  Adding the loop makes sense to me. However I don't understand why you<br>
>  have also switched from PASS_THRESHOLD to only a single page?<br>
><br>
> In the test, we use two checks combined to confirm the bug reproduces:<br>
><br>
>   1. swap cached increasing less than PASS_THRESHOLD_KB<br>
>   2. page_fault number large than expected<br>
><br>
> The 2. case is more easily get failed on kind of platforms and hard<br>
> to count an average value for tolerating. So maybe we just reduce<br>
> the page to one that would not affect the final result. Because we<br>
> rely on both checks happening simultaneously then assume a bug.<br>
><br>
>  <br>
>  <br>
>  I guess calling MADV_WILLNEED on a single page is the least realistic<br>
>  scenario.<br>
><br>
> Okay, perhaps it's a step backward:).<br>
><br>
> I was just thinking it is a regression test and if 1 page works to reproduce<br>
> that (but more chunks of memory easily cause false positive), why not.<br>
<br>
That makes sense, but this test has also found other bugs. I'm not sure<br>
if they are reproducible with only one page.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Indeed.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
><br>
>  <br>
>  <br>
>  If there is an issue with PASS_THRESHOLD perhaps we could scale it based<br>
>  on page size?<br>
><br>
> This sounds acceptable too.<br>
><br>
> How many pages do you think are proper, 100 or more?<br>
> and, loosen the faulted-out numbers to 1/10 pages?<br>
<br>
I suppose that 100 pages would be too much memory on some systems. I<br>
guess at least 2 or 3 pages are needed so there is some<br>
traversal. Beyond that I don't know what would make a difference.<br>
<br>
If there are only max 3 pages and we have a loop, I would not expect any<br>
to be faulted. Although maybe we could allow 1/3 because MADV_WILLNEED<br>
is only an advisory and a lot of time has been spent discussing this<br>
test already.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">It sounds reasonable. Thanks!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I would have a try and go touch 3 pages (with expect 0 page fault) if that does work.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>