[PATCH RFC 04/29] mm/page_alloc: allow for making page types sticky until freed
David Hildenbrand
david at redhat.com
Thu Jun 19 03:39:47 AEST 2025
Let's allow for not clearing a page type before freeing a page to the
buddy.
We'll focus on having a type set on the first page of a larger
allocation only.
With this change, we can reliably identify typed folios even though
they might be in the process of getting freed, which will come in handy
in migration code (at least in the transition phase).
Signed-off-by: David Hildenbrand <david at redhat.com>
---
mm/page_alloc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 858bc17653af9..44e56d31cfeb1 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1380,6 +1380,9 @@ __always_inline bool free_pages_prepare(struct page *page,
mod_mthp_stat(order, MTHP_STAT_NR_ANON, -1);
page->mapping = NULL;
}
+ if (unlikely(page_has_type(page)))
+ page->page_type = UINT_MAX;
+
if (is_check_pages_enabled()) {
if (free_page_is_bad(page))
bad++;
--
2.49.0
More information about the Linuxppc-dev
mailing list