Add new split_non_compound_page() to simplify make_alloc_exact(). Signed-off-by: Kefeng Wang --- mm/page_alloc.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b6eeae39f4d0..e1d229b75f27 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3042,6 +3042,15 @@ void free_unref_folios(struct folio_batch *folios) folio_batch_reinit(folios); } +static void split_non_compound_page(struct page *page, unsigned int order) +{ + VM_BUG_ON_PAGE(PageCompound(page), page); + + split_page_owner(page, order, 0); + pgalloc_tag_split(page_folio(page), order, 0); + split_page_memcg(page, order); +} + /* * split_page takes a non-compound higher-order page, and splits it into * n (1<