From 7ae5a5d8eca5eb7dd12c9d08e2cba1b2d8cf75e4 Mon Sep 17 00:00:00 2001 From: Zi Yan Date: Thu, 9 Jul 2026 14:06:02 -0400 Subject: [PATCH] mm/compaction: stop recording free page order in page->private Commit 733aea0b3a7bb ("mm/compaction: add support for >0 order folio memory compaction.") stores isolated free pages in an array indexed by free page orders, it is no longer needed to store the order in each page's ->private field. And there is no code using the stored order. Stop doing that. It also prepares for an upcoming change that ensures subpage->private is zero at page free time and the removal of set_page_private(0) from prep_compound_tail(). Link: https://lore.kernel.org/20260709-keep-subpage-private-zero-at-free-v3-2-7e4fe155f5b9@nvidia.com Signed-off-by: Zi Yan Reviewed-by: David Hildenbrand (Arm) Reviewed-by: Lance Yang Reviewed-by: Baolin Wang Reviewed-by: Vlastimil Babka (SUSE) Cc: Alistair Popple Cc: Barry Song Cc: Brendan Jackman Cc: Brendan Jackman Cc: Dennis Zhou Cc: Dev Jain Cc: Johannes Weiner Cc: Liam R. Howlett Cc: Lorenzo Stoakes Cc: Michal Hocko Cc: Mike Rapoport Cc: Nico Pache Cc: Ryan Roberts Cc: Suren Baghdasaryan Cc: Tejun Heo Signed-off-by: Andrew Morton --- mm/compaction.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/mm/compaction.c b/mm/compaction.c index 4b2318fad4eb..9f81055a358e 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -645,7 +645,6 @@ static unsigned long isolate_freepages_block(struct compact_control *cc, isolated = __isolate_free_page(page, order); if (!isolated) break; - set_page_private(page, order); nr_scanned += isolated - 1; total_isolated += isolated; @@ -1618,7 +1617,6 @@ static void fast_isolate_freepages(struct compact_control *cc) /* Isolate the page if available */ if (page) { if (__isolate_free_page(page, order)) { - set_page_private(page, order); nr_isolated = 1 << order; nr_scanned += nr_isolated - 1; total_isolated += nr_isolated; @@ -1847,7 +1845,6 @@ static struct folio *compaction_alloc_noprof(struct folio *src, unsigned long da size >>= 1; list_add(&freepage[size].lru, &cc->freepages[start_order]); - set_page_private(&freepage[size], start_order); } dst = (struct folio *)freepage;