aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorMike Rapoport (IBM) <rppt@kernel.org>2023-03-21 19:05:05 +0200
committerAndrew Morton <akpm@linux-foundation.org>2023-04-05 19:42:53 -0700
commit9cca18390d8d7af387c57e7d13d6a58615ece6a0 (patch)
tree17d6af63af3d405215234c17301ad8e315d3099d /init
parentc4fbed4b0284d91797ee3cf60983b94c84c396b6 (diff)
downloadlinux-9cca18390d8d7af387c57e7d13d6a58615ece6a0.tar.gz
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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/init/main.c b/init/main.c
index f285bc53c345e6..c240cce5bc86ef 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();