On Tue, May 10, 2022 at 03:18:09PM -0700, Andrew Morton wrote: > On Fri, 6 May 2022 00:43:18 +0100 Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > - Fix readahead creating single-page folios instead of the intended > > large folios when doing reads that are not a power of two in size. > > I worry about the idea of using hugepages in readahead. We're > increasing the load on the hugepage allocator, which is already > groaning under the load. Well, hang on. We're not using the hugepage allocator, we're using the page allocator. We're also using variable order pages, not necessarily PMD_ORDER. I was under the impression that we were using GFP_TRANSHUGE_LIGHT, but I now don't see that. So that might be something that needs to be changed. > The obvious risk is that handing out hugepages to a low-value consumer > (copying around pagecache which is only ever accessed via the direct > map) will deny their availability to high-value consumers (that > compute-intensive task against a large dataset). > > Has testing and instrumentation been used to demonstrate that this is > not actually going to be a problem, or are we at risk of getting > unhappy reports? It's hard to demonstrate that it's definitely not going to cause a problem. But I actually believe it will help; by keeping page cache memory in larger chunks, we make it easier to defrag memory and create PMD-order pages when they're needed.