On Thu, 15 Apr 2010 13:30:09 -0400 Lee Schermerhorn <lee.schermerhorn@xxxxxx> wrote: > 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> > Reviewd-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> BTW, Could add some explanation about "when numa_node_id() turns to be available" ? IIUC, - BOOT cpu ... after smp_prepare_boot_cpu() - Other cpu .. after smp_init() (i.e. always.) Right ? I'm sorry if it's well-known. Thanks, -Kame > --- > > 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> > -- 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>