<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2019 at 8:19 PM Jan Stancek <<a href="mailto:jstancek@redhat.com" target="_blank">jstancek@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Using system-wide "Cached" size is not accurate. The test is sporadically<br>
failing with warning on ppc64le 4.18 and 5.0 kernels.<br>
<br>
Problem is that test over-estimates max readahead size, which then<br>
leads to fewer readhead calls and kernel can silently trims length<br>
in each of them:<br>
  ...<br>
  readahead02.c:244: INFO: Test #2: POSIX_FADV_WILLNEED on file<br>
  readahead02.c:134: INFO: creating test file of size: 67108864<br>
  readahead02.c:263: INFO: read_testfile(0)<br>
  readahead02.c:274: INFO: read_testfile(1)<br>
  readahead02.c:189: INFO: max ra estimate: 12320768<br>
  readahead02.c:198: INFO: readahead calls made: 6<br>
  readahead02.c:204: PASS: offset is still at 0 as expected<br>
  readahead02.c:308: INFO: read_testfile(0) took: 492486 usec<br>
  readahead02.c:309: INFO: read_testfile(1) took: 430627 usec<br>
  readahead02.c:311: INFO: read_testfile(0) read: 67108864 bytes<br>
  readahead02.c:313: INFO: read_testfile(1) read: 59244544 bytes<br>
  readahead02.c:316: PASS: readahead saved some I/O<br>
  readahead02.c:324: INFO: cache can hold at least: 264192 kB<br>
  readahead02.c:325: INFO: read_testfile(0) used cache: 124992 kB<br>
  readahead02.c:326: INFO: read_testfile(1) used cache: 12032 kB<br>
  readahead02.c:338: WARN: using less cache than expected<br>
<br>
Try raising bdi readahead limit as much as we can. We write and read back<br>
"read_ahead_kb" sysfs value, starting with filesize. If that fails, we try<br>
again with lower value.<br>
<br>
readahead_length used in the test is then set to MIN(bdi limit, 2M),<br>
so we respect also kernels prior to commit 600e19afc5f8 ("mm: use<br>
only per-device readahead limit").<br>
<br>
Signed-off-by: Jan Stancek <<a href="mailto:jstancek@redhat.com" target="_blank">jstancek@redhat.com</a>><br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Tested-by: Li Wang <<a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a>></div><br></div><div><div class="gmail_default" style="font-size:small">I run this patch for more than 100 times on my ppc64le 4.18 platform, and confirmed the problem is no longer appear.</div></div></div><div><br></div>-- <br><div dir="ltr" class="m_2225004722766137243gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>