diff options
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/init/main.c b/init/main.c index ad8f9f53f8d1..cd168ebc5924 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -371,12 +371,7 @@ EXPORT_SYMBOL(nr_cpu_ids); | |||
371 | /* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */ | 371 | /* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */ |
372 | static void __init setup_nr_cpu_ids(void) | 372 | static void __init setup_nr_cpu_ids(void) |
373 | { | 373 | { |
374 | int cpu, highest_cpu = 0; | 374 | nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; |
375 | |||
376 | for_each_possible_cpu(cpu) | ||
377 | highest_cpu = cpu; | ||
378 | |||
379 | nr_cpu_ids = highest_cpu + 1; | ||
380 | } | 375 | } |
381 | 376 | ||
382 | #ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA | 377 | #ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA |
@@ -518,9 +513,9 @@ static void __init boot_cpu_init(void) | |||
518 | { | 513 | { |
519 | int cpu = smp_processor_id(); | 514 | int cpu = smp_processor_id(); |
520 | /* Mark the boot cpu "present", "online" etc for SMP and UP case */ | 515 | /* Mark the boot cpu "present", "online" etc for SMP and UP case */ |
521 | cpu_set(cpu, cpu_online_map); | 516 | set_cpu_online(cpu, true); |
522 | cpu_set(cpu, cpu_present_map); | 517 | set_cpu_present(cpu, true); |
523 | cpu_set(cpu, cpu_possible_map); | 518 | set_cpu_possible(cpu, true); |
524 | } | 519 | } |
525 | 520 | ||
526 | void __init __weak smp_setup_processor_id(void) | 521 | void __init __weak smp_setup_processor_id(void) |