]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/bootmem_info: remove handling for !CONFIG_SPARSEMEM_VMEMMAP
authorDavid Hildenbrand (Arm) <david@kernel.org>
Fri, 20 Mar 2026 22:13:39 +0000 (23:13 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 5 Apr 2026 20:53:32 +0000 (13:53 -0700)
It is not immediately obvious that CONFIG_HAVE_BOOTMEM_INFO_NODE is only
selected from CONFIG_MEMORY_HOTREMOVE, which itself depends on
CONFIG_MEMORY_HOTPLUG that ...  depends on CONFIG_SPARSEMEM_VMEMMAP.

Let's remove the !CONFIG_SPARSEMEM_VMEMMAP leftovers that are dead code.

Link: https://lkml.kernel.org/r/20260320-sparsemem_cleanups-v2-7-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>
mm/bootmem_info.c

index b0e2a9fa641ff573cc5539ea2184ade4a540f670..e61e08e249246497e2e4dcc9d48e39b43e599e09 100644 (file)
@@ -40,42 +40,6 @@ void put_page_bootmem(struct page *page)
        }
 }
 
-#ifndef CONFIG_SPARSEMEM_VMEMMAP
-static void __init register_page_bootmem_info_section(unsigned long start_pfn)
-{
-       unsigned long mapsize, section_nr, i;
-       struct mem_section *ms;
-       struct page *page, *memmap;
-       struct mem_section_usage *usage;
-
-       section_nr = pfn_to_section_nr(start_pfn);
-       ms = __nr_to_section(section_nr);
-
-       /* Get section's memmap address */
-       memmap = sparse_decode_mem_map(ms->section_mem_map, section_nr);
-
-       /*
-        * Get page for the memmap's phys address
-        * XXX: need more consideration for sparse_vmemmap...
-        */
-       page = virt_to_page(memmap);
-       mapsize = sizeof(struct page) * PAGES_PER_SECTION;
-       mapsize = PAGE_ALIGN(mapsize) >> PAGE_SHIFT;
-
-       /* remember memmap's page */
-       for (i = 0; i < mapsize; i++, page++)
-               get_page_bootmem(section_nr, page, SECTION_INFO);
-
-       usage = ms->usage;
-       page = virt_to_page(usage);
-
-       mapsize = PAGE_ALIGN(mem_section_usage_size()) >> PAGE_SHIFT;
-
-       for (i = 0; i < mapsize; i++, page++)
-               get_page_bootmem(section_nr, page, MIX_SECTION_INFO);
-
-}
-#else /* CONFIG_SPARSEMEM_VMEMMAP */
 static void __init register_page_bootmem_info_section(unsigned long start_pfn)
 {
        unsigned long mapsize, section_nr, i;
@@ -100,7 +64,6 @@ static void __init register_page_bootmem_info_section(unsigned long start_pfn)
        for (i = 0; i < mapsize; i++, page++)
                get_page_bootmem(section_nr, page, MIX_SECTION_INFO);
 }
-#endif /* !CONFIG_SPARSEMEM_VMEMMAP */
 
 void __init register_page_bootmem_info_node(struct pglist_data *pgdat)
 {