[PATCH] x86, sched: fix up typo in topology detection

From: Dave Hansen
Date: Tue Sep 30 2014 - 17:46:35 EST



From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>

Commit cebf15eb09 (in linux-next now) added 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@xxxxxxxxxxxxxxx>
Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
---

b/arch/x86/kernel/smpboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/x86/kernel/smpboot.c~fix-up-typo arch/x86/kernel/smpboot.c
--- a/arch/x86/kernel/smpboot.c~fix-up-typo 2014-09-30 14:24:52.934235516 -0700
+++ b/arch/x86/kernel/smpboot.c 2014-09-30 14:30:42.074917876 -0700
@@ -445,7 +445,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();
}
}
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/