On Thu, Nov 14, 2024 at 12:36 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Wed, Nov 13, 2024 at 11:07:11PM +0800, Yafang Shao wrote: > > + For MADV_HUGEPAGE, the readahead size may exceed this setting > > + since its granularity is based on the hugepage size. > > What does this actually mean? This means that when read_ahead_kb is set to 128KB, using MADV_HUGEPAGE will trigger a 4MB readahead, exceeding the specified limit. > > Also this whole read_ahead_kb has been a massive pain, can we maybe > take a step back and figure out if we still need it at all, and > if yes how we can improve it? In times where we support page cache > folio sie up to 1M, having a tiny read ahead window is pretty silly, > especially as basically all I/O is done through the "readahead" > interface anyway. > I believe the long-term goal should be to eliminate this interface, allowing the kernel to automatically adjust the readahead size based on the device’s bandwidth and latency. However, implementing this would be challenging. In the meantime, this patch updates read_ahead_kb to accommodate the newly added MADV_HUGEPAGE in the readahead path. -- Regards Yafang