[SRU][Utopic][PATCH 1/1] sched/x86: Fix up typo in topology detection
Joseph Salisbury
joseph.salisbury at canonical.com
Wed Dec 10 18:13:16 UTC 2014
From: Dave Hansen <dave.hansen at linux.intel.com>
BugLink: http://bugs.launchpad.net/bugs/1386473
Commit:
cebf15eb09a2 ("x86, sched: Add new topology for multi-NUMA-node CPUs")
some code to try to detect the situation where we have a NUMA node
inside of the "DIE" sched domain.
It detected this by looking for cpus which match_die() but do not match
NUMA nodes via topology_same_node().
I wrote it up as:
if (match_die(c, o) == !topology_same_node(c, o))
which actually seemed to work some of the time, albiet
accidentally.
It should have been doing an &&, not an ==.
This code essentially chopped off the "DIE" domain on one of
Andrew Morton's systems. He reported that this patch fixed his
issue.
Signed-off-by: Dave Hansen <dave.hansen at linux.intel.com>
Reported-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Cc: Dave Hansen <dave at sr71.net>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: David Rientjes <rientjes at google.com>
Cc: Igor Mammedov <imammedo at redhat.com>
Cc: Jan Kiszka <jan.kiszka at siemens.com>
Cc: Lan Tianyu <tianyu.lan at intel.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Prarit Bhargava <prarit at redhat.com>
Cc: Toshi Kani <toshi.kani at hp.com>
Link: http://lkml.kernel.org/r/20140930214546.FD481CFF@viggo.jf.intel.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
(cherry picked from commit 728e5653e6fdb2a0892e94a600aef8c9a036c7eb)
Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>
---
arch/x86/kernel/smpboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index cf12440..c8748a1 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -449,7 +449,7 @@ void set_cpu_sibling_map(int cpu)
} else if (i != cpu && !c->booted_cores)
c->booted_cores = cpu_data(i).booted_cores;
}
- if (match_die(c, o) == !topology_same_node(c, o))
+ if (match_die(c, o) && !topology_same_node(c, o))
primarily_use_numa_for_topology();
}
}
--
1.7.9.5
More information about the kernel-team
mailing list