]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm/bootmem_info: stop marking mem_section_usage as MIX_SECTION_INFO
authorDavid Hildenbrand (Arm) <david@kernel.org>
Mon, 11 May 2026 14:05:34 +0000 (16:05 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 2 Jun 2026 22:22:11 +0000 (15:22 -0700)
We never free the ms->usage data for boot memory sections (see
section_deactivate()). And to identify whether ms->usage was allocated
from memblock, we simply identify it by looking at PG_reserved.

Consequently, there is no need to mark ms->usage as MIX_SECTION_INFO.
Let's just stop doing that.

Link: https://lore.kernel.org/20260511-bootmem_info_prep-v1-6-3fb0be6fc688@kernel.org
Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Acked-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Reviewed-by: Lance Yang <lance.yang@linux.dev>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/bootmem_info.c

index cce1d560f094b3c985341357810262822540eaae..0fa78db7fbc0b46259089b9f1683b9af022ff64a 100644 (file)
@@ -38,10 +38,8 @@ void put_page_bootmem(struct page *page)
 
 static void __init register_page_bootmem_info_section(unsigned long start_pfn)
 {
-       unsigned long mapsize, section_nr, i;
+       unsigned long section_nr;
        struct mem_section *ms;
-       struct mem_section_usage *usage;
-       struct page *page;
 
        start_pfn = SECTION_ALIGN_DOWN(start_pfn);
        section_nr = pfn_to_section_nr(start_pfn);
@@ -50,14 +48,6 @@ static void __init register_page_bootmem_info_section(unsigned long start_pfn)
        if (!preinited_vmemmap_section(ms))
                register_page_bootmem_memmap(section_nr, pfn_to_page(start_pfn),
                                             PAGES_PER_SECTION);
-
-       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);
 }
 
 void __init register_page_bootmem_info_node(struct pglist_data *pgdat)