Description
This issue was created by maloo for Andreas Dilger <adilger@whamcloud.com>
This issue relates to the following test suite run:
https://testing.whamcloud.com/test_sets/4380b7cd-f886-4477-99d0-e68484661e31
test_101i failed with the following error:
== sanity test 101i: allow current readahead to exceed reservation ====== 06:24:54 (1712039094) 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.228838 s, 45.8 MB/s llite.lustre-ffff8896320bb000.max_read_ahead_per_file_mb=1 Reset readahead stats llite.lustre-ffff8896320bb000.read_ahead_stats=0 5+0 records in 5+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.3471 s, 30.2 MB/s llite.lustre-ffff8896320bb000.read_ahead_stats= snapshot_time 1712039095.945972104 secs.nsecs start_time 1712039095.591196979 secs.nsecs elapsed_time 0.354775125 secs.nsecs hits 2554 samples [pages] misses 6 samples [pages] zero_size_window 2554 samples [pages] failed_to_fast_read 6 samples [pages] readahead_pages 6 samples [pages] 15 511 2554 sanity test_101i: @@@@@@ FAIL: expected misses 5 but got 6
Test session details:
clients: https://build.whamcloud.com/job/lustre-reviews/103767 - 4.18.0-513.18.1.el8_9.x86_64
servers: https://build.whamcloud.com/job/lustre-reviews/103767 - 4.18.0-513.18.1.el8_lustre.x86_64
This is failing with sanity-compr running with a PFL file layout compr_STRIPEPARAMS="-E 64k -c 1 -E eof" applied to the whole filesystem.
VVVVVVV DO NOT REMOVE LINES BELOW, Added by Maloo for auto-association VVVVVVV
sanity-compr test_101i - expected misses 5 but got 6
Attachments
Issue Links
Activity
Labels | Original: readahead | New: pfl readahead |
Labels | New: readahead |
Yup, that's correct - whole file readahead can't do any better. Since readahead doesn't request locks.
FWIW, Lustre keeps trying to do whole file readahead, so it will suck all of each stripe, etc, until it hits the next one. But it's not ideal!
So, readahead should request locks. (And perhaps should've been implemented through the regular IO path rather than a separate one! But it wasn't, and may have been done that way with good reason - I'm not sure. And it would be an enormous lift to change it now.)