numa: ia64: use generic percpu var numa_node_id() implementation
PATCH 198/203 numa: ia64: use generic percpu var numa_node_id() implementation
From: Lee Schermerhorn <[email protected]>
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 <[email protected]>
Reviewed-by Christoph Lameter <[email protected]>
Cc Tejun Heo <[email protected]>
Cc Mel Gorman <[email protected]>
Cc Christoph Lameter <[email protected]>
Cc Nick Piggin <[email protected]>
Cc David Rientjes <[email protected]>
Cc Eric Whitney <[email protected]>
Cc KAMEZAWA Hiroyuki <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc "H. Peter Anvin" <[email protected]>
Cc "Luck, Tony" <[email protected]>
Cc Pekka Enberg <[email protected]>
Cc <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
arch/ia64/Kconfig | 4 ++++ arch/ia64/include/asm/topology.h | 5 ----- arch/ia64/kernel/smpboot.c | 6 ++++++ 3 files changed, 10 insertions(+), 5 deletions(-)
arch/ia64/Kconfig renamed from arch/ia64/Kconfig~numa-ia64-use-generic-percpu-var-numa_node_id-implementation +4 -0
@@ -498,6 +498,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
arch/ia64/include/asm/topology.h renamed from arch/ia64/include/asm/topology.h~numa-ia64-use-generic-percpu-var-numa_node_id-implementation +0 -5
@@ -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 ? \
arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c~numa-ia64-use-generic-percpu-var-numa_node_id-implementation +6 -0
@@ -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 (); }
_