From: Dan Williams <dan.j.williams@intel.com>
To: linux-nvdimm@lists.01.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
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
Subject: [PATCH v2 06/22] x86: Move NUMA_KEEP_MEMINFO and related definition to x86-internals
Date: Sun, 12 Jul 2020 09:26:38 -0700 [thread overview]
Message-ID: <159457119816.754248.17444705191598115716.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)
In-Reply-To: <159457116473.754248.7879464730875147365.stgit@dwillia2-desk3.amr.corp.intel.com>
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 <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
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
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
next prev parent reply other threads:[~2020-07-12 16:42 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-12 16:26 [PATCH v2 00/22] device-dax: Support sub-dividing soft-reserved ranges Dan Williams
2020-07-12 16:26 ` [PATCH v2 01/22] x86/numa: Cleanup configuration dependent command-line options Dan Williams
2020-07-12 16:26 ` [PATCH v2 02/22] x86/numa: Add 'nohmat' option Dan Williams
2020-07-12 16:58 ` Randy Dunlap
2020-07-12 16:26 ` [PATCH v2 03/22] efi/fake_mem: Arrange for a resource entry per efi_fake_mem instance Dan Williams
2020-07-12 16:26 ` [PATCH v2 04/22] ACPI: HMAT: Refactor hmat_register_target_device to hmem_register_device Dan Williams
2020-07-12 16:26 ` [PATCH v2 05/22] resource: Report parent to walk_iomem_res_desc() callback Dan Williams
2020-07-12 16:26 ` Dan Williams [this message]
2020-07-12 16:26 ` [PATCH v2 07/22] numa: Introduce a generic memory_add_physaddr_to_nid() Dan Williams
2020-07-13 6:58 ` Mike Rapoport
2020-07-13 15:42 ` Dan Williams
2020-07-12 16:26 ` [PATCH v2 08/22] memblock: Introduce a generic phys_addr_to_target_node() Dan Williams
2020-07-13 7:03 ` Mike Rapoport
2020-07-13 15:48 ` Dan Williams
2020-07-14 1:36 ` Justin He
2020-07-12 16:26 ` [PATCH v2 09/22] arm64: Convert to generic memblock for numa-info Dan Williams
2020-07-12 16:26 ` [PATCH v2 10/22] ACPI: HMAT: Attach a device for each soft-reserved range Dan Williams
2020-07-12 16:27 ` [PATCH v2 11/22] device-dax: Drop the dax_region.pfn_flags attribute Dan Williams
2020-07-12 16:27 ` [PATCH v2 12/22] device-dax: Move instance creation parameters to 'struct dev_dax_data' Dan Williams
2020-07-12 16:27 ` [PATCH v2 13/22] device-dax: Make pgmap optional for instance creation Dan Williams
2020-07-12 16:27 ` [PATCH v2 14/22] device-dax: Kill dax_kmem_res Dan Williams
2020-07-12 16:27 ` [PATCH v2 15/22] device-dax: Add an allocation interface for device-dax instances Dan Williams
2020-07-12 16:27 ` [PATCH v2 16/22] device-dax: Introduce 'seed' devices Dan Williams
2020-07-12 16:27 ` [PATCH v2 17/22] drivers/base: Make device_find_child_by_name() compatible with sysfs inputs Dan Williams
2020-07-12 17:09 ` Greg Kroah-Hartman
2020-07-13 15:39 ` Dan Williams
2020-07-13 15:52 ` Greg Kroah-Hartman
2020-07-13 16:09 ` Dan Williams
2020-07-13 16:12 ` Greg Kroah-Hartman
2020-07-13 16:36 ` Dan Williams
2020-07-12 16:27 ` [PATCH v2 18/22] device-dax: Add resize support Dan Williams
2020-07-12 16:27 ` [PATCH v2 19/22] mm/memremap_pages: Convert to 'struct range' Dan Williams
2020-07-13 16:36 ` Ralph Campbell
2020-07-13 16:54 ` Dan Williams
2020-07-12 16:27 ` [PATCH v2 20/22] mm/memremap_pages: Support multiple ranges per invocation Dan Williams
2020-07-12 16:27 ` [PATCH v2 21/22] device-dax: Add dis-contiguous resource support Dan Williams
2020-07-12 16:28 ` [PATCH v2 22/22] device-dax: Introduce 'mapping' devices Dan Williams
2020-07-16 13:18 ` Joao Martins
2020-07-16 16:00 ` Dan Williams
2020-07-16 19:04 ` Joao Martins
2020-07-16 17:29 ` [PATCH v1 0/4] device-dax: Further improvements to subdivision Joao Martins
2020-07-16 17:29 ` [PATCH v1 1/4] device-dax: Make align a per-device property Joao Martins
2020-07-16 17:29 ` [PATCH v1 2/4] device-dax: Add an 'align' attribute Joao Martins
2020-07-31 14:52 ` Dan Williams
2020-07-16 17:29 ` [PATCH v1 3/4] dax/hmem: Introduce dax_hmem.region_idle parameter Joao Martins
2020-07-16 17:29 ` [PATCH v1 4/4] device-dax: Add a range mapping allocation attribute Joao Martins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=159457119816.754248.17444705191598115716.stgit@dwillia2-desk3.amr.corp.intel.com \
--to=dan.j.williams@intel.com \
--cc=akpm@linux-foundation.org \
--cc=ard.biesheuvel@linaro.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hch@lst.de \
--cc=hpa@zytor.com \
--cc=joao.m.martins@oracle.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).