* [merged mm-stable] mm-sparse-remove-sparse_decode_mem_map.patch removed from -mm tree
@ 2026-03-29 0:42 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-03-29 0:42 UTC (permalink / raw)
To: mm-commits, yuanchu, weixugc, vbabka, surenb, sidhartha.kumar,
rppt, osalvador, mhocko, ljs, liam.howlett, axelrasmussen, david,
akpm
The quilt patch titled
Subject: mm/sparse: remove sparse_decode_mem_map()
has been removed from the -mm tree. Its filename was
mm-sparse-remove-sparse_decode_mem_map.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: "David Hildenbrand (Arm)" <david@kernel.org>
Subject: mm/sparse: remove sparse_decode_mem_map()
Date: Fri, 20 Mar 2026 23:13:41 +0100
section_deactivate() applies to CONFIG_SPARSEMEM_VMEMMAP only. So we can
just use pfn_to_page() (after making sure we have the start PFN of the
section), and remove sparse_decode_mem_map().
Link: https://lkml.kernel.org/r/20260320-sparsemem_cleanups-v2-9-096addc8800d@kernel.org
Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Reviewed-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Wei Xu <weixugc@google.com>
Cc: Yuanchu Xie <yuanchu@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/memory_hotplug.h | 2 --
mm/sparse.c | 16 +---------------
2 files changed, 1 insertion(+), 17 deletions(-)
--- a/include/linux/memory_hotplug.h~mm-sparse-remove-sparse_decode_mem_map
+++ a/include/linux/memory_hotplug.h
@@ -308,8 +308,6 @@ extern int sparse_add_section(int nid, u
struct dev_pagemap *pgmap);
extern void sparse_remove_section(unsigned long pfn, unsigned long nr_pages,
struct vmem_altmap *altmap);
-extern struct page *sparse_decode_mem_map(unsigned long coded_mem_map,
- unsigned long pnum);
extern struct zone *zone_for_pfn_range(enum mmop online_type,
int nid, struct memory_group *group, unsigned long start_pfn,
unsigned long nr_pages);
--- a/mm/sparse.c~mm-sparse-remove-sparse_decode_mem_map
+++ a/mm/sparse.c
@@ -274,18 +274,6 @@ static unsigned long sparse_encode_mem_m
return coded_mem_map;
}
-#ifdef CONFIG_MEMORY_HOTPLUG
-/*
- * Decode mem_map from the coded memmap
- */
-struct page *sparse_decode_mem_map(unsigned long coded_mem_map, unsigned long pnum)
-{
- /* mask off the extra low bits of information */
- coded_mem_map &= SECTION_MAP_MASK;
- return ((struct page *)coded_mem_map) + section_nr_to_pfn(pnum);
-}
-#endif /* CONFIG_MEMORY_HOTPLUG */
-
static void __meminit sparse_init_one_section(struct mem_section *ms,
unsigned long pnum, struct page *mem_map,
struct mem_section_usage *usage, unsigned long flags)
@@ -754,8 +742,6 @@ static void section_deactivate(unsigned
empty = is_subsection_map_empty(ms);
if (empty) {
- unsigned long section_nr = pfn_to_section_nr(pfn);
-
/*
* Mark the section invalid so that valid_section()
* return false. This prevents code from dereferencing
@@ -774,7 +760,7 @@ static void section_deactivate(unsigned
kfree_rcu(ms->usage, rcu);
WRITE_ONCE(ms->usage, NULL);
}
- memmap = sparse_decode_mem_map(ms->section_mem_map, section_nr);
+ memmap = pfn_to_page(SECTION_ALIGN_DOWN(pfn));
}
/*
_
Patches currently in -mm which might be from david@kernel.org are
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-03-29 0:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-29 0:42 [merged mm-stable] mm-sparse-remove-sparse_decode_mem_map.patch removed from -mm tree Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox