diff options
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/smpboot.c | 6 |
1 files changed, 6 insertions, 0 deletions
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 | } |