diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-07-02 21:54:40 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 07:16:24 -0400 |
commit | 329513a35d1a2b6b28d54f5c2c0dde4face8200b (patch) | |
tree | ef517f954c7dc6e86952e372608bde091b13f803 /arch/x86/kernel/smpboot.c | |
parent | 5f4765f96eebee6a0adc4009758b597ba48a0a3a (diff) |
x86: move prefill_possible_map calling early
call it right after we are done with MADT/mptable handling, instead of
doing that in setup_per_cpu_areas() later on...
this way for_possible_cpu() can be used early.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 3b19441d78b8..e1200b202ed7 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1278,12 +1278,20 @@ __init void prefill_possible_map(void) | |||
1278 | int i; | 1278 | int i; |
1279 | int possible; | 1279 | int possible; |
1280 | 1280 | ||
1281 | /* no processor from mptable or madt */ | ||
1282 | if (!num_processors) | ||
1283 | num_processors = 1; | ||
1284 | |||
1285 | #ifdef CONFIG_HOTPLUG_CPU | ||
1281 | if (additional_cpus == -1) { | 1286 | if (additional_cpus == -1) { |
1282 | if (disabled_cpus > 0) | 1287 | if (disabled_cpus > 0) |
1283 | additional_cpus = disabled_cpus; | 1288 | additional_cpus = disabled_cpus; |
1284 | else | 1289 | else |
1285 | additional_cpus = 0; | 1290 | additional_cpus = 0; |
1286 | } | 1291 | } |
1292 | #else | ||
1293 | additional_cpus = 0; | ||
1294 | #endif | ||
1287 | possible = num_processors + additional_cpus; | 1295 | possible = num_processors + additional_cpus; |
1288 | if (possible > NR_CPUS) | 1296 | if (possible > NR_CPUS) |
1289 | possible = NR_CPUS; | 1297 | possible = NR_CPUS; |