Re: [PATCH net-next v7 1/5] mm: add a signature in struct page

From: Matthew Wilcox
Date: Fri Jun 04 2021 - 15:08:34 EST


On Fri, Jun 04, 2021 at 08:33:45PM +0200, Matteo Croce wrote:
> @@ -130,7 +137,10 @@ struct page {
> };
> };
> struct { /* Tail pages of compound page */
> - unsigned long compound_head; /* Bit zero is set */
> + /* Bit zero is set
> + * Bit one if pfmemalloc page
> + */
> + unsigned long compound_head;

I would drop this hunk. Bit 1 is not used for this purpose in tail
pages; it's used for that purpose in head and base pages.

I suppose we could do something like ...

static inline void set_page_pfmemalloc(struct page *page)
{
- page->index = -1UL;
+ page->lru.next = (void *)2;
}

if it's causing confusion.