On Mon, Sep 28, 2020 at 01:54:01PM -0400, Zi Yan wrote:
> struct { /* Page table pages */
> - unsigned long _pt_pad_1; /* compound_head */
> - pgtable_t pmd_huge_pte; /* protected by page->ptl */
> + struct llist_head deposit_head; /* pgtable deposit list
> head */
> + struct llist_node deposit_node; /* pgtable deposit list
> node */
If you're going to use two pointers anyway, you might as well use a
list_head. But I don't think you need to; you could either use a union
of these or you could use the page_address() of the page to store as
much information as you like!