diff options
author | Mike Rapoport (IBM) <rppt@kernel.org> | 2023-03-21 19:05:05 +0200 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2023-04-05 19:42:53 -0700 |
commit | 9cca18390d8d7af387c57e7d13d6a58615ece6a0 (patch) | |
tree | 17d6af63af3d405215234c17301ad8e315d3099d /init | |
parent | c4fbed4b0284d91797ee3cf60983b94c84c396b6 (diff) | |
download | lwn-9cca18390d8d7af387c57e7d13d6a58615ece6a0.tar.gz lwn-9cca18390d8d7af387c57e7d13d6a58615ece6a0.zip |
init: fold build_all_zonelists() and page_alloc_init_cpuhp() to mm_init()
Both build_all_zonelists() and page_alloc_init_cpuhp() must be called
after SMP setup is complete but before the page allocator is set up.
Still, they both are a part of memory management initialization, so move
them to mm_init().
Link: https://lkml.kernel.org/r/20230321170513.2401534-7-rppt@kernel.org
Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Doug Berger <opendmb@gmail.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'init')
-rw-r--r-- | init/main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/init/main.c b/init/main.c index f285bc53c345..c240cce5bc86 100644 --- a/init/main.c +++ b/init/main.c @@ -837,6 +837,10 @@ static void __init report_meminit(void) */ static void __init mm_init(void) { + /* Initializations relying on SMP setup */ + build_all_zonelists(NULL); + page_alloc_init_cpuhp(); + /* * page_ext requires contiguous pages, * bigger than MAX_ORDER unless SPARSEMEM. @@ -972,9 +976,6 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void) smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ boot_cpu_hotplug_init(); - build_all_zonelists(NULL); - page_alloc_init_cpuhp(); - pr_notice("Kernel command line: %s\n", saved_command_line); /* parameters may set static keys */ jump_label_init(); |