On Fri 20-11-20 17:30:27, Muchun Song wrote: > On Fri, Nov 20, 2020 at 4:16 PM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > On Fri 20-11-20 14:43:17, Muchun Song wrote: > > > When we allocate hugetlb page from buddy, we may need split huge pmd > > > to pte. When we free the hugetlb page, we can merge pte to pmd. So > > > we need to distinguish whether the previous pmd has been split. The > > > page table is not allocated from slab. So we can reuse the PG_slab > > > to indicate that the pmd has been split. > > > > PageSlab is used outside of the slab allocator proper and that code > > might get confused by this AFAICS. > > I got your concerns. Maybe we can use PG_private instead of the > PG_slab. Reusing a page flag arbitrarily is not that easy. Hugetlb pages have a lot of spare room in struct page so I would rather use something else. -- Michal Hocko SUSE Labs