On Wed, 19 Jun 2024 at 07:31, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > Actually, it's 11. We can't split an order-12 folio because we'd have > to allocate two levels of radix tree, and I decided that was too much > work. Also, I didn't know that ARM used order-13 PMD size at the time. > > I think this is the best fix (modulo s/12/11/). Can we use some more descriptive thing than the magic constant 11 that is clearly very subtle. Is it "XA_CHUNK_SHIFT * 2 - 1" IOW, something like #define MAX_XAS_ORDER (XA_CHUNK_SHIFT * 2 - 1) #define MAX_PAGECACHE_ORDER min(HPAGE_PMD_ORDER,12) except for the non-TRANSPARENT_HUGEPAGE case where it currently does #define MAX_PAGECACHE_ORDER 8 and I assume that "8" is just "random round value, smaller than 11"? Linus