Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
Lustre explicitly disables the kernel readahead for the bdi at mount time because it is incompatible with the Lustre-internal readahead (which takes into account the file striping, data consistency locking, etc.)
Setting read_ahead_kb explicitly will cause the kernel readahead out the control of Lustre and result in panic:
[root@test-vm-rocky ~]# echo 1024 > /sys/devices/virtual/bdi/testfs-ffff970342500000/read_ahead_kb
we should detect ra_pages and force to revise bdi->ra_pages and file->f_ra.ra_pages with 0 in each read() system call or fadvise() handling.
Another option would be to reset this only if it is detected during read operations (instead of LASSERT()), rather than checking it on every syscall. Almost all of the time this will not be changed, and the only time it is noticed is the LASSERT, which obviously doesn't happen very often, and should not be the reason for adding overhead to the fast path.
Attachments
Issue Links
- is related to
-
LU-18449 Handling kernel mmap read-ahead triggering by advise(MADV_HUGEPAGE)
-
- Open
-
"Qian Yingjin <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/59222
Subject: LU-19009 llite: auto revise ra_page with read_ahead_kb=N settting
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: fa9478256018777ff428f2ec197dd338ff88bb18