Against: 2.6.34-rc3-mmotm-100405-1609 ia64: Use generic percpu implementation of numa_node_id() + intialize per cpu 'numa_node' + remove ia64 cpu_to_node() macro; use generic + define CONFIG_USE_PERCPU_NUMA_NODE_ID when NUMA configured Signed-off-by: Lee Schermerhorn <lee.schermerhorn@xxxxxx> Reviewed-by: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> --- New in V2 V3, V4: no change arch/ia64/Kconfig | 4 ++++ arch/ia64/include/asm/topology.h | 5 ----- arch/ia64/kernel/smpboot.c | 6 ++++++ 3 files changed, 10 insertions(+), 5 deletions(-) Index: linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/kernel/smpboot.c =================================================================== --- linux-2.6.34-rc3-mmotm-100405-1609.orig/arch/ia64/kernel/smpboot.c 2010-04-07 10:03:38.000000000 -0400 +++ linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/kernel/smpboot.c 2010-04-07 10:10:27.000000000 -0400 @@ -390,6 +390,11 @@ smp_callin (void) fix_b0_for_bsp(); + /* + * numa_node_id() works after this. + */ + set_numa_node(cpu_to_node_map[cpuid]); + ipi_call_lock_irq(); spin_lock(&vector_lock); /* Setup the per cpu irq handling data structures */ @@ -632,6 +637,7 @@ void __devinit smp_prepare_boot_cpu(void { cpu_set(smp_processor_id(), cpu_online_map); cpu_set(smp_processor_id(), cpu_callin_map); + set_numa_node(cpu_to_node_map[smp_processor_id()]); per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; paravirt_post_smp_prepare_boot_cpu(); } Index: linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/include/asm/topology.h =================================================================== --- linux-2.6.34-rc3-mmotm-100405-1609.orig/arch/ia64/include/asm/topology.h 2010-04-07 09:49:13.000000000 -0400 +++ linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/include/asm/topology.h 2010-04-07 10:10:27.000000000 -0400 @@ -26,11 +26,6 @@ #define RECLAIM_DISTANCE 15 /* - * Returns the number of the node containing CPU 'cpu' - */ -#define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu]) - -/* * Returns a bitmask of CPUs on Node 'node'. */ #define cpumask_of_node(node) ((node) == -1 ? \ Index: linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/Kconfig =================================================================== --- linux-2.6.34-rc3-mmotm-100405-1609.orig/arch/ia64/Kconfig 2010-04-07 10:04:03.000000000 -0400 +++ linux-2.6.34-rc3-mmotm-100405-1609/arch/ia64/Kconfig 2010-04-07 10:10:27.000000000 -0400 @@ -497,6 +497,10 @@ config HAVE_ARCH_NODEDATA_EXTENSION def_bool y depends on NUMA +config USE_PERCPU_NUMA_NODE_ID + def_bool y + depends on NUMA + config ARCH_PROC_KCORE_TEXT def_bool y depends on PROC_KCORE -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>