On Tue, Nov 26, 2024 at 7:38 AM Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> wrote: > > Slab does not need to use the page refcount at all, and it can avoid > an atomic operation on page free. Hugetlb wants to delay setting the > refcount until it has assembled a complete gigantic page. We already > have the ability to freeze a page (safely reduce its reference count to > 0), so this patchset adds APIs to allocate and free pages which are in > a frozen state. [+Cc Vlastimil] I think with this patchset, we can finally remove the memory barriers used in isolate_movable_page(), alloc_slab_page(), and __free_slab(), because folio_get_nontail_page() should fail for frozen pages? for reference, the patch that introduced the memory barrier: https://lore.kernel.org/linux-mm/Y20BRJmRzRVMzoJw@hyeyoo Best, Hyeonggon