Skip to content

Commit 0e9899f

Browse files
RichardWeiYangrppt
authored andcommitted
mm/mm_init.c: don't initialize page->lru again
Current page initialization call flow looks like this with some simplification: setup_arch() paging_init() free_area_init() memmap_init() memmap_init_zone_range() memmap_init_range() defer_init() __init_single_page() mm_core_init() mem_init() memblock_free_all() free_low_memory_core_early() memmap_init_reserved_pages() reserve_bootmem_region() init_reserved_page() __init_single_page() There two cases depends on CONFIG_DEFERRED_STRUCT_PAGE_INIT. * If CONFIG_DEFERRED_STRUCT_PAGE_INIT, pages after first_init_pfn is skipped at defer_init(). Then init_reserved_page() is defined to call __init_single_page() for them. * If !CONFIG_DEFERRED_STRUCT_PAGE_INIT, pages are all initialized by memmap_init_range(). In both cases, after init_reserved_page(), we expect __init_single_page() has done its work to the page, which already initialize page->lru properly. We don't need to do it again. Signed-off-by: Wei Yang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mike Rapoport (IBM) <[email protected]>
1 parent f1180fd commit 0e9899f

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

mm/mm_init.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -760,9 +760,6 @@ void __meminit reserve_bootmem_region(phys_addr_t start,
760760

761761
init_reserved_page(start_pfn, nid);
762762

763-
/* Avoid false-positive PageTail() */
764-
INIT_LIST_HEAD(&page->lru);
765-
766763
/*
767764
* no need for atomic set_bit because the struct
768765
* page is not visible yet so nobody should

0 commit comments

Comments
 (0)