Received: by 2002:a05:6a10:6006:0:0:0:0 with SMTP id w6csp1064978pxa; Fri, 28 Aug 2020 02:38:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxDWEwwlcihV7heqtjCqoPIIX16AP5Ap5KpvO2K180a2rKZ51yd6EW/34eqkVvKQe2zSnIH X-Received: by 2002:a05:6402:b1c:: with SMTP id bm28mr971518edb.116.1598607520001; Fri, 28 Aug 2020 02:38:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598607519; cv=none; d=google.com; s=arc-20160816; b=a19VLxzHuIY9T1EGF2wtxxhdAacvINLrZfq+0nQRVA7SIWKQ6rQ6hXzxSzgwnbsKhD knp3AdNpMGWUyEzHiM2l7dWiQY8iNvg7NmqOJkuTK1GjrM0/XnvdgsMzPCYzsB8uaFGP D6OT4jJMY2QZwGJY1TYoOtRB75r9EOglJkh7UUxI/dfQ0XQcNOc21IsEW4ns2VbUouU4 WfLuut/2HXMNpMmYw+CHCCg28fumRzshfnH5RWRYBsTmeq3yhIoaTTUcBHXZ6Qp4gLsg /MhL++BTPkg62CoGooHwGylhVWXAJAXA/WxJRnzH0Gzm0my/e/Rx1vou4oaN1wQ3AqZx FB8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=sWcNXZ1gSxM3aJPPbEtB3nUJjcWsig5V6jZom1vY+gY=; b=R1c4tj/LEVUIw/g/la4kiohmGtx5jr6Z3dt7S8MKCxNEbNcYi5Ezx1OWAh364T+Th8 k0SkBCHgIvWUhbmgfSR3OKYd6ONspnkp44ZEmyzXYhj0Jl4eg+LftGhMdngFRCFJotjs WSre6hzhFB9qv3YXqmc8sFILI9pTI9hWGmeJSFa+gYnnLY2J8udraNNLb4qfCdzq8jtE HjvT+rUXHiazFZarBEFpp4grrgIdkyApCF6rjM4IaFuSQYdES7lVK9Yt1mnuef0goLUF Wgyp45kS7gUYgmIZ7MhwtxaTJEA0EyPRCoc3WuM9aumWAvV4Q/M10zbDsrPg1+UsXspt yv9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i1si275767ejk.520.2020.08.28.02.38.17; Fri, 28 Aug 2020 02:38:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728794AbgH1Jhb (ORCPT + 99 others); Fri, 28 Aug 2020 05:37:31 -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 */