diff options
Diffstat (limited to 'arch/x86_64/kernel/smpboot.c')
-rw-r--r-- | arch/x86_64/kernel/smpboot.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index a28756ef7cef..67e4e28f4df8 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
@@ -59,6 +59,7 @@ | |||
59 | #include <asm/nmi.h> | 59 | #include <asm/nmi.h> |
60 | #include <asm/irq.h> | 60 | #include <asm/irq.h> |
61 | #include <asm/hw_irq.h> | 61 | #include <asm/hw_irq.h> |
62 | #include <asm/numa.h> | ||
62 | 63 | ||
63 | /* Number of siblings per CPU package */ | 64 | /* Number of siblings per CPU package */ |
64 | int smp_num_siblings = 1; | 65 | int smp_num_siblings = 1; |
@@ -890,6 +891,7 @@ do_rest: | |||
890 | if (boot_error) { | 891 | if (boot_error) { |
891 | cpu_clear(cpu, cpu_callout_map); /* was set here (do_boot_cpu()) */ | 892 | cpu_clear(cpu, cpu_callout_map); /* was set here (do_boot_cpu()) */ |
892 | clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ | 893 | clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ |
894 | clear_node_cpumask(cpu); /* was set by numa_add_cpu */ | ||
893 | cpu_clear(cpu, cpu_present_map); | 895 | cpu_clear(cpu, cpu_present_map); |
894 | cpu_clear(cpu, cpu_possible_map); | 896 | cpu_clear(cpu, cpu_possible_map); |
895 | x86_cpu_to_apicid[cpu] = BAD_APICID; | 897 | x86_cpu_to_apicid[cpu] = BAD_APICID; |
@@ -1187,6 +1189,7 @@ void remove_cpu_from_maps(void) | |||
1187 | cpu_clear(cpu, cpu_callout_map); | 1189 | cpu_clear(cpu, cpu_callout_map); |
1188 | cpu_clear(cpu, cpu_callin_map); | 1190 | cpu_clear(cpu, cpu_callin_map); |
1189 | clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ | 1191 | clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ |
1192 | clear_node_cpumask(cpu); | ||
1190 | } | 1193 | } |
1191 | 1194 | ||
1192 | int __cpu_disable(void) | 1195 | int __cpu_disable(void) |