[PATCH 2/2] powerpc/numa: document topology_updates_enabled, disable by default

Manoj Iyer manoj.iyer at canonical.com
Mon Jun 24 17:03:33 UTC 2019

From: Nathan Lynch <nathanl at linux.ibm.com>

Changing the NUMA associations for CPUs and memory at runtime is
basically unsupported by the core mm, scheduler etc. We see all manner
of crashes, warnings and instability when the pseries code tries to do
this. Disable this behavior by default, and document the switch a bit.

BugLink: https://bugs.launchpad.net/bugs/1833716

Signed-off-by: Nathan Lynch <nathanl at linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
(cherry picked from commit 558f86493df09f68f79fe056d9028d317a3ce8ab)
Signed-off-by: Manoj Iyer <manoj.iyer at canonical.com>
 arch/powerpc/mm/numa.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 77424112184a..ff906f251f4b 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -981,16 +981,22 @@ static int __init early_numa(char *p)
 early_param("numa", early_numa);
-static bool topology_updates_enabled = true;
+ * The platform can inform us through one of several mechanisms
+ * (post-migration device tree updates, PRRN or VPHN) that the NUMA
+ * assignment of a resource has changed. This controls whether we act
+ * on that. Disabled by default.
+ */
+static bool topology_updates_enabled;
 static int __init early_topology_updates(char *p)
 	if (!p)
 		return 0;
-	if (!strcmp(p, "off")) {
-		pr_info("Disabling topology updates\n");
-		topology_updates_enabled = false;
+	if (!strcmp(p, "on")) {
+		pr_warn("Caution: enabling topology updates\n");
+		topology_updates_enabled = true;
 	return 0;

More information about the kernel-team mailing list