On Sun, Jun 06, 2021 at 03:50:54AM +0200, Matteo Croce wrote: > And change all the *_pfmemalloc functions to use page->lru.next like this? > > @@ -1668,10 +1668,12 @@ struct address_space *page_mapping(struct page *page); > static inline bool page_is_pfmemalloc(const struct page *page) > { > /* > - * Page index cannot be this large so this must be > - * a pfmemalloc page. > + * This is not a tail page; compound_head of a head page is unused > + * at return from the page allocator, and will be overwritten > + * by callers who do not care whether the page came from the > + * reserves. > */ The comment doesn't make a lot of sense if we're switching to use lru.next. How about: /* * lru.next has bit 1 set if the page is allocated from the * pfmemalloc reserves. Callers may simply overwrite it if * they do not need to preserve that information. */