[merged mm-stable] mm-mm_init-fold-__init_page_from_nid-into-__init_deferred_page.patch removed from -mm tree
Andrew Morton <[email protected]> Tue, 28 Jul 2026 21:14:40 -0700
| Newsgroups | org.kernel.vger.mm-commits |
|---|---|
| Message-ID | <[email protected]> |
The quilt patch titled
Subject: mm/mm_init: fold __init_page_from_nid() into __init_deferred_page()
has been removed from the -mm tree. Its filename was
mm-mm_init-fold-__init_page_from_nid-into-__init_deferred_page.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Muchun Song <[email protected]>
Subject: mm/mm_init: fold __init_page_from_nid() into __init_deferred_page()
Date: Fri, 12 Jun 2026 11:59:03 +0800
__init_page_from_nid() no longer has external users and is only used
locally in mm/mm_init.c under CONFIG_DEFERRED_STRUCT_PAGE_INIT.
Fold it into its sole caller __init_deferred_page() and remove the
separate helper declaration.
Link: https://lore.kernel.org/[email protected]
Signed-off-by: Muchun Song <[email protected]>
Reviewed-by: Mike Rapoport (Microsoft) <[email protected]>
Cc: "Aneesh Kumar K.V" <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Frank van der Linden <[email protected]>
Cc: Liam R. Howlett <[email protected]>
Cc: Lorenzo Stoakes <[email protected]>
Cc: Madhavan Srinivasan <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Nicholas Piggin <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: Oscar Salvador (SUSE) <[email protected]>
Cc: "Ritesh Harjani (IBM)" <[email protected]>
Cc: Usama Arif <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
mm/internal.h | 1 -
mm/mm_init.c | 42 ++++++++++++++++--------------------------
2 files changed, 16 insertions(+), 27 deletions(-)
--- a/mm/internal.h~mm-mm_init-fold-__init_page_from_nid-into-__init_deferred_page
+++ a/mm/internal.h
@@ -1760,7 +1760,6 @@ static inline bool pte_needs_soft_dirty_
void __meminit __init_single_page(struct page *page, unsigned long pfn,
unsigned long zone, int nid);
-void __meminit __init_page_from_nid(unsigned long pfn, int nid);
/* shrinker related functions */
unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
--- a/mm/mm_init.c~mm-mm_init-fold-__init_page_from_nid-into-__init_deferred_page
+++ a/mm/mm_init.c
@@ -688,31 +688,6 @@ static __meminit void pageblock_migratet
}
#endif
-/*
- * Initialize a reserved page unconditionally, finding its zone first.
- */
-void __meminit __init_page_from_nid(unsigned long pfn, int nid)
-{
- pg_data_t *pgdat;
- int zid;
-
- pgdat = NODE_DATA(nid);
-
- for (zid = 0; zid < MAX_NR_ZONES; zid++) {
- struct zone *zone = &pgdat->node_zones[zid];
-
- if (zone_spans_pfn(zone, pfn))
- break;
- }
- __init_single_page(pfn_to_page(pfn), pfn, zid, nid);
-
- if (pageblock_aligned(pfn)) {
- enum migratetype mt =
- kho_scratch_migratetype(pfn, MIGRATE_MOVABLE);
- init_pageblock_migratetype(pfn_to_page(pfn), mt, false);
- }
-}
-
#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
static inline void pgdat_set_deferred_range(pg_data_t *pgdat)
{
@@ -771,10 +746,25 @@ defer_init(int nid, unsigned long pfn, u
static void __meminit __init_deferred_page(unsigned long pfn, int nid)
{
+ pg_data_t *pgdat = NODE_DATA(nid);
+ int zid;
+
if (early_page_initialised(pfn, nid))
return;
- __init_page_from_nid(pfn, nid);
+ for (zid = 0; zid < MAX_NR_ZONES; zid++) {
+ struct zone *zone = &pgdat->node_zones[zid];
+
+ if (zone_spans_pfn(zone, pfn))
+ break;
+ }
+ __init_single_page(pfn_to_page(pfn), pfn, zid, nid);
+
+ if (pageblock_aligned(pfn)) {
+ enum migratetype mt =
+ kho_scratch_migratetype(pfn, MIGRATE_MOVABLE);
+ init_pageblock_migratetype(pfn_to_page(pfn), mt, false);
+ }
}
#else
static inline void pgdat_set_deferred_range(pg_data_t *pgdat) {}
_
Patches currently in -mm which might be from [email protected] are
selftests-mm-remove-obsolete-hugetlb-vmemmap-test.patch