We already have the ability to freeze a page (safely reduce its reference count to 0). Some users (eg slab) would prefer to be able to allocate frozen pages and avoid touching the refcount. It also avoids spurious temporary refcounts being taken on these pages. Matthew Wilcox (Oracle) (6): mm/page_alloc: Remove zone parameter from free_one_page() mm/page_alloc: Rename free_the_page() to free_frozen_pages() mm/page_alloc: Export free_frozen_pages() instead of free_unref_page() mm/page_alloc: Add alloc_frozen_pages() slab: Allocate frozen pages slub: Allocate frozen pages mm/internal.h | 15 ++++++++++-- mm/mempolicy.c | 61 ++++++++++++++++++++++++++++++------------------- mm/page_alloc.c | 59 +++++++++++++++++++++++++++-------------------- mm/slab.c | 23 +++++++++---------- mm/slub.c | 26 ++++++++++----------- mm/swap.c | 2 +- 6 files changed, 110 insertions(+), 76 deletions(-) -- 2.34.1