[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f712fa24-91f7-38e7-fd6e-b33ab52ce88c@suse.cz>
Date: Wed, 22 Mar 2023 17:10:10 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Mike Rapoport <rppt@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: David Hildenbrand <david@...hat.com>,
Doug Berger <opendmb@...il.com>,
Matthew Wilcox <willy@...radead.org>,
Mel Gorman <mgorman@...e.de>, Michal Hocko <mhocko@...nel.org>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH v2 06/14] init: fold build_all_zonelists() and
page_alloc_init_cpuhp() to mm_init()
On 3/21/23 18:05, Mike Rapoport wrote:
> From: "Mike Rapoport (IBM)" <rppt@...nel.org>
>
> 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().
Well, logic grouping is one thing, but not breaking a functional order is
more important. So this moves both calls to happen later than theyw ere. I
guess it could only matter for page_alloc_init_cpuhp() in case cpu hotplugs
would be processed in some of the calls we "skipped" over by moving this
later. And one of them is setup_arch()... so are we sure no arch does some
cpu hotplug for non-boot cpus there?
> Signed-off-by: Mike Rapoport (IBM) <rppt@...nel.org>
> Acked-by: David Hildenbrand <david@...hat.com>
> ---
> init/main.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/init/main.c b/init/main.c
> index b2499bee7a3c..4423906177c1 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -833,6 +833,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.
> @@ -968,9 +972,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();
Powered by blists - more mailing lists