[PATCH v2 2/2] mm/page_ext: remove pgdat_page_ext_init()

From: Sang-Heon Jeon

Date: Tue Aug 04 2026 - 11:17:23 EST


pgdat_page_ext_init() sets pgdat->node_page_ext to NULL only on
FLATMEM. FLATMEM depends on !NUMA, so the pgdat is always the
zero-initialized contig_page_data and the store has no effect.

So remove the call site, the unused function and its declaration.

No functional change.

Signed-off-by: Sang-Heon Jeon <ekffu200098@xxxxxxxxx>
---
include/linux/page_ext.h | 5 -----
mm/mm_init.c | 1 -
mm/page_ext.c | 9 ---------
3 files changed, 15 deletions(-)

diff --git a/include/linux/page_ext.h b/include/linux/page_ext.h
index f23d4b218da0..79c53ec45dfa 100644
--- a/include/linux/page_ext.h
+++ b/include/linux/page_ext.h
@@ -55,7 +55,6 @@ struct page_ext {

extern bool early_page_ext;
extern unsigned long page_ext_size;
-extern void pgdat_page_ext_init(struct pglist_data *pgdat);

static inline bool early_page_ext_enabled(void)
{
@@ -202,10 +201,6 @@ static inline bool early_page_ext_enabled(void)
return false;
}

-static inline void pgdat_page_ext_init(struct pglist_data *pgdat)
-{
-}
-
static inline void page_ext_init(void)
{
}
diff --git a/mm/mm_init.c b/mm/mm_init.c
index 711f821f7b3c..e9c4204b73ad 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1394,7 +1394,6 @@ static void __meminit pgdat_init_internals(struct pglist_data *pgdat)
for (i = 0; i < NR_VMSCAN_THROTTLE; i++)
init_waitqueue_head(&pgdat->reclaim_wait[i]);

- pgdat_page_ext_init(pgdat);
lruvec_init(&pgdat->__lruvec);
}

diff --git a/mm/page_ext.c b/mm/page_ext.c
index e2e92bd27ebd..b679a8c1f7d7 100644
--- a/mm/page_ext.c
+++ b/mm/page_ext.c
@@ -164,11 +164,6 @@ void __init page_ext_init_flatmem_late(void)
invoke_init_callbacks();
}

-void __meminit pgdat_page_ext_init(struct pglist_data *pgdat)
-{
- pgdat->node_page_ext = NULL;
-}
-
static struct page_ext *lookup_page_ext(const struct page *page)
{
unsigned long pfn = page_to_pfn(page);
@@ -494,10 +489,6 @@ void __init page_ext_init(void)
panic("Out of memory");
}

-void __meminit pgdat_page_ext_init(struct pglist_data *pgdat)
-{
-}
-
#endif

/**
--
2.43.0