diff options
| -rw-r--r-- | arch/ia64/Kconfig | 4 | ||||
| -rw-r--r-- | arch/ia64/include/asm/topology.h | 5 | ||||
| -rw-r--r-- | arch/ia64/kernel/smpboot.c | 6 |
3 files changed, 10 insertions, 5 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index f8afdd271f3d..00ba08708873 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
| @@ -498,6 +498,10 @@ config HAVE_ARCH_NODEDATA_EXTENSION | |||
| 498 | def_bool y | 498 | def_bool y |
| 499 | depends on NUMA | 499 | depends on NUMA |
| 500 | 500 | ||
| 501 | config USE_PERCPU_NUMA_NODE_ID | ||
| 502 | def_bool y | ||
| 503 | depends on NUMA | ||
| 504 | |||
| 501 | config ARCH_PROC_KCORE_TEXT | 505 | config ARCH_PROC_KCORE_TEXT |
| 502 | def_bool y | 506 | def_bool y |
| 503 | depends on PROC_KCORE | 507 | depends on PROC_KCORE |
diff --git a/arch/ia64/include/asm/topology.h b/arch/ia64/include/asm/topology.h index d323071d0f91..09f646753d1a 100644 --- a/arch/ia64/include/asm/topology.h +++ b/arch/ia64/include/asm/topology.h | |||
| @@ -26,11 +26,6 @@ | |||
| 26 | #define RECLAIM_DISTANCE 15 | 26 | #define RECLAIM_DISTANCE 15 |
| 27 | 27 | ||
| 28 | /* | 28 | /* |
| 29 | * Returns the number of the node containing CPU 'cpu' | ||
| 30 | */ | ||
| 31 | #define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu]) | ||
| 32 | |||
| 33 | /* | ||
| 34 | * Returns a bitmask of CPUs on Node 'node'. | 29 | * Returns a bitmask of CPUs on Node 'node'. |
| 35 | */ | 30 | */ |
| 36 | #define cpumask_of_node(node) ((node) == -1 ? \ | 31 | #define cpumask_of_node(node) ((node) == -1 ? \ |
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index e5230b2ff2c5..8aae2d9b2680 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c | |||
| @@ -390,6 +390,11 @@ smp_callin (void) | |||
| 390 | 390 | ||
| 391 | fix_b0_for_bsp(); | 391 | fix_b0_for_bsp(); |
| 392 | 392 | ||
| 393 | /* | ||
| 394 | * numa_node_id() works after this. | ||
| 395 | */ | ||
| 396 | set_numa_node(cpu_to_node_map[cpuid]); | ||
| 397 | |||
| 393 | ipi_call_lock_irq(); | 398 | ipi_call_lock_irq(); |
| 394 | spin_lock(&vector_lock); | 399 | spin_lock(&vector_lock); |
| 395 | /* Setup the per cpu irq handling data structures */ | 400 | /* Setup the per cpu irq handling data structures */ |
| @@ -632,6 +637,7 @@ void __devinit smp_prepare_boot_cpu(void) | |||
| 632 | { | 637 | { |
| 633 | cpu_set(smp_processor_id(), cpu_online_map); | 638 | cpu_set(smp_processor_id(), cpu_online_map); |
| 634 | cpu_set(smp_processor_id(), cpu_callin_map); | 639 | cpu_set(smp_processor_id(), cpu_callin_map); |
| 640 | set_numa_node(cpu_to_node_map[smp_processor_id()]); | ||
| 635 | per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; | 641 | per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; |
| 636 | paravirt_post_smp_prepare_boot_cpu(); | 642 | paravirt_post_smp_prepare_boot_cpu(); |
| 637 | } | 643 | } |
