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

- From: Matteo Croce \<hidden\>
- Date: 2021-06-04 23:00:33 
- List: netdev
- Page: https://ratatoskr.run/netdev/2021/06/1403192
- Thread: https://ratatoskr.run/netdev/2021/06/1402979/t.md

```text
On Fri, Jun 4, 2021 at 9:08 PM Matthew Wilcox [ref] wrote:
>
> 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.
>

If you prefer, ok for me.
Why not "(void *)BIT(1)"? Just to remark that it's a single bit and
not a magic like value?

-- 
per aspera ad upstream
```
