mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
mm/bootmem_info: avoid using sparse_decode_mem_map()
With SPARSEMEM_VMEMMAP, we can just do a pfn_to_page(). It is not super clear whether the start_pfn is properly aligned ... so let's just make sure it is properly aligned to the start of the section. We will soon might try to remove the bootmem info completely, for now, just keep it working as is. Link: https://lkml.kernel.org/r/20260320-sparsemem_cleanups-v2-8-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>
This commit is contained in:
committed by
Andrew Morton
parent
4129341443
commit
7f8e592bb3
@@ -44,17 +44,16 @@ 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;
|
||||
struct page *page;
|
||||
|
||||
start_pfn = SECTION_ALIGN_DOWN(start_pfn);
|
||||
section_nr = pfn_to_section_nr(start_pfn);
|
||||
ms = __nr_to_section(section_nr);
|
||||
|
||||
memmap = sparse_decode_mem_map(ms->section_mem_map, section_nr);
|
||||
|
||||
if (!preinited_vmemmap_section(ms))
|
||||
register_page_bootmem_memmap(section_nr, memmap,
|
||||
PAGES_PER_SECTION);
|
||||
register_page_bootmem_memmap(section_nr, pfn_to_page(start_pfn),
|
||||
PAGES_PER_SECTION);
|
||||
|
||||
usage = ms->usage;
|
||||
page = virt_to_page(usage);
|
||||
|
||||
Reference in New Issue
Block a user