From patchwork Sun Jul 12 16:26:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Williams X-Patchwork-Id: 11658253 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC8E960D for ; Sun, 12 Jul 2020 16:42:58 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 787C620791 for ; Sun, 12 Jul 2020 16:42:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 787C620791 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A23FE6B000C; Sun, 12 Jul 2020 12:42:57 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 9D4CC6B000D; Sun, 12 Jul 2020 12:42:57 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8EAE86B000E; Sun, 12 Jul 2020 12:42:57 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0228.hostedemail.com [216.40.44.228]) by kanga.kvack.org (Postfix) with ESMTP id 75EBE6B000C for ; Sun, 12 Jul 2020 12:42:57 -0400 (EDT) Received: from smtpin09.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 353801EE6 for ; Sun, 12 Jul 2020 16:42:57 +0000 (UTC) X-FDA: 77029993194.09.robin79_5f0674b26ee1 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin09.hostedemail.com (Postfix) with ESMTP id 079F2180AD81A for ; Sun, 12 Jul 2020 16:42:57 +0000 (UTC) X-Spam-Summary: 1,0,0,,d41d8cd98f00b204,dan.j.williams@intel.com,,RULES_HIT:30054:30064:30075,0,RBL:192.55.52.115:@intel.com:.lbl8.mailshell.net-62.18.0.100 64.95.201.95;04yfj3abtzbajfrgwzd6ff6owg4ejop4gb86dxc98d5nzmiabcx1ugjnwp7rnkg.tkubm9msogp9xc7qabx49ihstqu5twe58bm9xi6a9wukfezd9xbhyoyp3abr1h3.n-lbl8.mailshell.net-223.238.255.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:ft,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:25,LUA_SUMMARY:none X-HE-Tag: robin79_5f0674b26ee1 X-Filterd-Recvd-Size: 5927 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf28.hostedemail.com (Postfix) with ESMTP for ; Sun, 12 Jul 2020 16:42:55 +0000 (UTC) IronPort-SDR: 0xUqrbo9vJlByng4A/QmoyfLfvMb09E7m8exLoD96g8Fy2SlW9NXtsAaZ8BpAS/bQO1QQYjWRV p4V3ymmUHLNw== X-IronPort-AV: E=McAfee;i="6000,8403,9680"; a="147629344" X-IronPort-AV: E=Sophos;i="5.75,344,1589266800"; d="scan'208";a="147629344" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2020 09:42:54 -0700 IronPort-SDR: dHWrCRJ+HxfA5mS5m5a07vIUByQdHXhRhyHku++9gHnv8GIa0fupPpqzL860YfYMPw+fVAcKlc zgjvtM21YP5Q== X-IronPort-AV: E=Sophos;i="5.75,344,1589266800"; d="scan'208";a="429128322" Received: from dwillia2-desk3.jf.intel.com (HELO dwillia2-desk3.amr.corp.intel.com) ([10.54.39.16]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2020 09:42:54 -0700 Subject: [PATCH v2 06/22] x86: Move NUMA_KEEP_MEMINFO and related definition to x86-internals From: Dan Williams To: linux-nvdimm@lists.01.org Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , vishal.l.verma@intel.com, ard.biesheuvel@linaro.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, hch@lst.de, joao.m.martins@oracle.com Date: Sun, 12 Jul 2020 09:26:38 -0700 Message-ID: <159457119816.754248.17444705191598115716.stgit@dwillia2-desk3.amr.corp.intel.com> In-Reply-To: <159457116473.754248.7879464730875147365.stgit@dwillia2-desk3.amr.corp.intel.com> References: <159457116473.754248.7879464730875147365.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: StGit/0.18-3-g996c MIME-Version: 1.0 X-Rspamd-Queue-Id: 079F2180AD81A X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: x86 is the lone architecture that uses numa_meminfo. Move and rename NUMA_KEEP_MEMINFO from the core mm/Kconfig to X86_NUMA_KEEP_MEMINFO in arch/x86/mm/Kconfig. This is in preparation for defining a generic memblock based implementation of memory_add_physaddr_to_nid() and phys_to_target_node(). Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: x86@kernel.org Cc: "H. Peter Anvin" Cc: Dave Hansen Cc: Andy Lutomirski Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Dan Williams --- arch/x86/Kconfig | 7 ++++++- arch/x86/mm/numa.c | 2 +- arch/x86/mm/numa_internal.h | 7 +++++++ include/linux/numa.h | 7 ------- mm/Kconfig | 5 ----- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 6a0cc524882d..fc9264ea4041 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1560,6 +1560,11 @@ config NUMA Otherwise, you should say N. +# Keep NUMA mapping infrastructure post-init. +config X86_NUMA_KEEP_MEMINFO + def_bool MEMORY_HOTPLUG + depends on NUMA + config AMD_NUMA def_bool y prompt "Old style AMD Opteron NUMA detection" @@ -1640,7 +1645,7 @@ config X86_PMEM_LEGACY depends on PHYS_ADDR_T_64BIT depends on BLK_DEV select X86_PMEM_LEGACY_DEVICE - select NUMA_KEEP_MEMINFO if NUMA + select X86_NUMA_KEEP_MEMINFO if NUMA select LIBNVDIMM help Treat memory marked using the non-standard e820 type of 12 as used diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index 44fdf06d497e..311d22cf8ac2 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c @@ -893,7 +893,7 @@ EXPORT_SYMBOL(cpumask_of_node); #endif /* !CONFIG_DEBUG_PER_CPU_MAPS */ -#ifdef CONFIG_NUMA_KEEP_MEMINFO +#ifdef CONFIG_X86_NUMA_KEEP_MEMINFO static int meminfo_to_nid(struct numa_meminfo *mi, u64 start) { int i; diff --git a/arch/x86/mm/numa_internal.h b/arch/x86/mm/numa_internal.h index 86860f279662..7b843414335f 100644 --- a/arch/x86/mm/numa_internal.h +++ b/arch/x86/mm/numa_internal.h @@ -11,6 +11,13 @@ struct numa_memblk { int nid; }; +/* optionally keep NUMA memory info available post init */ +#ifdef CONFIG_X86_NUMA_KEEP_MEMINFO +#define __initdata_or_meminfo +#else +#define __initdata_or_meminfo __initdata +#endif + struct numa_meminfo { int nr_blks; struct numa_memblk blk[NR_NODE_MEMBLKS]; diff --git a/include/linux/numa.h b/include/linux/numa.h index a42df804679e..5d25c5de1322 100644 --- a/include/linux/numa.h +++ b/include/linux/numa.h @@ -13,13 +13,6 @@ #define NUMA_NO_NODE (-1) -/* optionally keep NUMA memory info available post init */ -#ifdef CONFIG_NUMA_KEEP_MEMINFO -#define __initdata_or_meminfo -#else -#define __initdata_or_meminfo __initdata -#endif - #ifdef CONFIG_NUMA /* Generic implementation available */ int numa_map_to_online_node(int node); diff --git a/mm/Kconfig b/mm/Kconfig index f2104cc0d35c..0051f735ad98 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -139,10 +139,6 @@ config HAVE_FAST_GUP config ARCH_KEEP_MEMBLOCK bool -# Keep arch NUMA mapping infrastructure post-init. -config NUMA_KEEP_MEMINFO - bool - config MEMORY_ISOLATION bool @@ -159,7 +155,6 @@ config MEMORY_HOTPLUG depends on SPARSEMEM || X86_64_ACPI_NUMA depends on ARCH_ENABLE_MEMORY_HOTPLUG depends on 64BIT || BROKEN - select NUMA_KEEP_MEMINFO if NUMA config MEMORY_HOTPLUG_SPARSE def_bool y