x86: add debug of invalid per_cpu map accesses
dont crash survivable situations.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
diff --git a/include/asm-x86/topology.h b/include/asm-x86/topology.h
index f1e1232..9a8228a 100644
--- a/include/asm-x86/topology.h
+++ b/include/asm-x86/topology.h
@@ -66,14 +66,15 @@
static inline int cpu_to_node(int cpu)
{
-#ifdef CONFIG_DEBUG_PER_CPU_MAPS
- if(x86_cpu_to_node_map_early_ptr) {
+#ifdef CONFIG_DEBUG_PER_CPU_MAPS
+ if (x86_cpu_to_node_map_early_ptr) {
printk("KERN_NOTICE cpu_to_node(%d): usage too early!\n",
(int)cpu);
- BUG();
+ dump_stack();
+ return ((int *)x86_cpu_to_node_map_early_ptr)[cpu];
}
#endif
- if(per_cpu_offset(cpu))
+ if (per_cpu_offset(cpu))
return per_cpu(x86_cpu_to_node_map, cpu);
else
return NUMA_NO_NODE;