All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/numa: move setting parse numa node to num_add_memblk
@ 2017-11-29  9:13 ` zhong jiang
  0 siblings, 0 replies; 28+ messages in thread
From: zhong jiang @ 2017-11-29  9:13 UTC (permalink / raw)
  To: tglx, mingo, x86, lenb, mhocko, akpm, vbabka, linux-mm
  Cc: richard.weiyang, pombredanne, linux-kernel, linux-acpi

Currently, Arm64 and x86 use the common code wehn parsing numa node
in a acpi way. The arm64 will set the parsed node in numa_add_memblk,
but the x86 is not set in that , then it will result in the repeatly
setting. And the parsed node maybe is  unreasonable to the system.

we would better not set it although it also still works. because the
parsed node is unresonable. so we should skip related operate in this
node. This patch just set node in various architecture individually.
it is no functional change.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 arch/x86/mm/amdtopology.c | 1 -
 arch/x86/mm/numa.c        | 3 ++-
 drivers/acpi/numa.c       | 5 ++++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/arch/x86/mm/amdtopology.c b/arch/x86/mm/amdtopology.c
index 91f501b..7657042 100644
--- a/arch/x86/mm/amdtopology.c
+++ b/arch/x86/mm/amdtopology.c
@@ -151,7 +151,6 @@ int __init amd_numa_init(void)
 
 		prevbase = base;
 		numa_add_memblk(nodeid, base, limit);
-		node_set(nodeid, numa_nodes_parsed);
 	}
 
 	if (!nodes_weight(numa_nodes_parsed))
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index 25504d5..8f87f26 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -150,6 +150,8 @@ static int __init numa_add_memblk_to(int nid, u64 start, u64 end,
 	mi->blk[mi->nr_blks].end = end;
 	mi->blk[mi->nr_blks].nid = nid;
 	mi->nr_blks++;
+
+	node_set(nid, numa_nodes_parsed);
 	return 0;
 }
 
@@ -693,7 +695,6 @@ static int __init dummy_numa_init(void)
 	printk(KERN_INFO "Faking a node at [mem %#018Lx-%#018Lx]\n",
 	       0LLU, PFN_PHYS(max_pfn) - 1);
 
-	node_set(0, numa_nodes_parsed);
 	numa_add_memblk(0, 0, PFN_PHYS(max_pfn));
 
 	return 0;
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index 917f1cc..f2e33cb 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -294,7 +294,9 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
 		goto out_err_bad_srat;
 	}
 
-	node_set(node, numa_nodes_parsed);
+	/* some architecture is likely to ignore a unreasonable node */
+	if (!node_isset(node, numa_nodes_parsed))
+		goto out;
 
 	pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n",
 		node, pxm,
@@ -309,6 +311,7 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
 
 	max_possible_pfn = max(max_possible_pfn, PFN_UP(end - 1));
 
+out:
 	return 0;
 out_err_bad_srat:
 	bad_srat();
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-12-01  9:07 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29  9:13 [PATCH] x86/numa: move setting parse numa node to num_add_memblk zhong jiang
2017-11-29  9:13 ` zhong jiang
2017-11-29  9:13 ` zhong jiang
2017-11-29 12:03 ` Michal Hocko
2017-11-29 12:03   ` Michal Hocko
2017-11-29 12:41   ` zhong jiang
2017-11-29 12:41     ` zhong jiang
2017-11-29 12:41     ` zhong jiang
2017-11-29 13:01     ` Michal Hocko
2017-11-29 13:01       ` Michal Hocko
2017-11-29 13:26       ` zhong jiang
2017-11-29 13:26         ` zhong jiang
2017-11-29 13:33         ` Michal Hocko
2017-11-29 13:33           ` Michal Hocko
2017-11-29 13:44           ` zhong jiang
2017-11-29 13:44             ` zhong jiang
2017-11-29 14:14             ` Dou Liyang
2017-11-29 14:14               ` Dou Liyang
2017-11-30  4:39               ` zhong jiang
2017-11-30  4:39                 ` zhong jiang
2017-12-01  8:48 ` zhong jiang
2017-12-01  8:48   ` zhong jiang
2017-12-01  8:48   ` zhong jiang
2017-12-01  8:58   ` Michal Hocko
2017-12-01  8:58     ` Michal Hocko
2017-12-01  9:01     ` zhong jiang
2017-12-01  9:01       ` zhong jiang
2017-12-01  9:01       ` zhong jiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.