From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48D85C433E7 for ; Fri, 28 Aug 2020 09:37:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2D4C62075B for ; Fri, 28 Aug 2020 09:37:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728867AbgH1Jhc (ORCPT ); Fri, 28 Aug 2020 05:37:32 -0400 Received: from lhrrgout.huawei.com ([185.176.76.210]:2707 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728016AbgH1Jha (ORCPT ); Fri, 28 Aug 2020 05:37:30 -0400 Received: from lhreml710-chm.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 5F54AB1A2183795D36F8; Fri, 28 Aug 2020 10:37:28 +0100 (IST) Received: from localhost (10.52.127.106) by lhreml710-chm.china.huawei.com (10.201.108.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 28 Aug 2020 10:37:27 +0100 Date: Fri, 28 Aug 2020 10:35:52 +0100 From: Jonathan Cameron To: Atish Patra CC: , "Rafael J. Wysocki" , Catalin Marinas , Zong Li , , Will Deacon , , Rob Herring , "Lorenzo Pieralisi" , Ganapatrao Kulkarni , Steven Price , Greentime Hu , Albert Ou , Arnd Bergmann , Anshuman Khandual , "Paul Walmsley" , , Nick Hu , Greg Kroah-Hartman , Anup Patel , Palmer Dabbelt , Andrew Morton , Mike Rapoport Subject: Re: [RFC/RFT PATCH 2/6] arm64, numa: Change the numa init function name to be generic Message-ID: <20200828103552.000033e3@Huawei.com> In-Reply-To: <20200814214725.28818-3-atish.patra@wdc.com> References: <20200814214725.28818-1-atish.patra@wdc.com> <20200814214725.28818-3-atish.patra@wdc.com> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.52.127.106] X-ClientProxiedBy: lhreml725-chm.china.huawei.com (10.201.108.76) To lhreml710-chm.china.huawei.com (10.201.108.61) X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 14 Aug 2020 14:47:21 -0700 Atish Patra wrote: > As we are using generic numa implementation code, modify the init function > name to indicate that generic implementation. > > Signed-off-by: Atish Patra > --- > arch/arm64/mm/init.c | 4 ++-- > drivers/base/arch_numa.c | 8 ++++++-- > include/asm-generic/numa.h | 4 ++-- > 3 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c > index 481d22c32a2e..93b660229e1d 100644 > --- a/arch/arm64/mm/init.c > +++ b/arch/arm64/mm/init.c > @@ -418,10 +418,10 @@ void __init bootmem_init(void) > max_pfn = max_low_pfn = max; > min_low_pfn = min; > > - arm64_numa_init(); > + arch_numa_init(); > > /* > - * must be done after arm64_numa_init() which calls numa_init() to > + * must be done after arch_numa_init() which calls numa_init() to > * initialize node_online_map that gets used in hugetlb_cma_reserve() > * while allocating required CMA size across online nodes. > */ > diff --git a/drivers/base/arch_numa.c b/drivers/base/arch_numa.c > index 73f8b49d485c..83341c807240 100644 > --- a/drivers/base/arch_numa.c > +++ b/drivers/base/arch_numa.c > @@ -13,7 +13,9 @@ > #include > #include > > +#ifdef CONFIG_ARM64 > #include > +#endif This highlights an issue. We really don't want to define 'generic' arch code then match on individual architectures if at all possible. I'm also not sure we need to. The arm64_acpi_numa_init() code is just a light wrapper around the standard acpi_init() call so should work fine on riscv (once ACPI support is ready). Can we pull that function into here or perhaps a generic arch_numa_acpi.c? There is probably a bit of a dance needed around acpi_disabled though as that can be defined in entirely different places depending on whether acpi is enabled or not. Possibly just adding an extern int acpi_disabled to include/linux/acpi.h when acpi is enabled will be sufficient (if ugly)? > #include > > struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; > @@ -445,16 +447,18 @@ static int __init dummy_numa_init(void) > } > > /** > - * arm64_numa_init() - Initialize NUMA > + * arch_numa_init() - Initialize NUMA > * > * Try each configured NUMA initialization method until one succeeds. The > * last fallback is dummy single node config encomapssing whole memory. > */ > -void __init arm64_numa_init(void) > +void __init arch_numa_init(void) > { > if (!numa_off) { > +#ifdef CONFIG_ARM64 > if (!acpi_disabled && !numa_init(arm64_acpi_numa_init)) > return; > +#endif > if (acpi_disabled && !numa_init(of_numa_init)) > return; > } > diff --git a/include/asm-generic/numa.h b/include/asm-generic/numa.h > index 0635c0724b7c..309eca8c0b5d 100644 > --- a/include/asm-generic/numa.h > +++ b/include/asm-generic/numa.h > @@ -27,7 +27,7 @@ static inline const struct cpumask *cpumask_of_node(int node) > } > #endif > > -void __init arm64_numa_init(void); > +void __init arch_numa_init(void); > int __init numa_add_memblk(int nodeid, u64 start, u64 end); > void __init numa_set_distance(int from, int to, int distance); > void __init numa_free_distance(void); > @@ -41,7 +41,7 @@ void numa_remove_cpu(unsigned int cpu); > static inline void numa_store_cpu_info(unsigned int cpu) { } > static inline void numa_add_cpu(unsigned int cpu) { } > static inline void numa_remove_cpu(unsigned int cpu) { } > -static inline void arm64_numa_init(void) { } > +static inline void arch_numa_init(void) { } > static inline void early_map_cpu_to_node(unsigned int cpu, int nid) { } > > #endif /* CONFIG_NUMA */