[PATCH] x86_64 Early initialization of cpu_to_node

From: Daniel Yeisley
Date: Tue Feb 14 2006 - 13:05:22 EST


The early initialization of cpu_to_node code as it is now only updates
the cpu_to_node array, and does not update cpu_pda()->nodemember. This
will cause numa_node_id() to return 0 on systems where CPU 0 is not on
Node 0. This leads to a kernel panic in slab.c.
I've tested the patch below on a 16 processor x86_64 ES7000-600 server,
and no longer see the panic I saw with the original 2.6.16-rc3.

Signed-off-by: Dan Yeisley <dan.yeisley@xxxxxxxxxx>
---

diff -Naur -p linux-2.6.16-rc3/arch/x86_64/mm/numa.c linux-2.6.16-rc3-a/arch/x86_64/mm/numa.c
--- linux-2.6.16-rc3/arch/x86_64/mm/numa.c 2006-02-12 19:27:25.000000000 -0500
+++ linux-2.6.16-rc3-a/arch/x86_64/mm/numa.c 2006-02-14 08:36:10.000000000 -0500
@@ -351,7 +351,7 @@ void __init init_cpu_to_node(void)
continue;
if (apicid_to_node[apicid] == NUMA_NO_NODE)
continue;
- cpu_to_node[i] = apicid_to_node[apicid];
+ numa_set_node(i,apicid_to_node[apicid]);
}
}



-
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/