diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 1a9941b11150..9e177a4077ee 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -282,7 +282,7 @@ static int __cpuinitdata unsafe_smp; | |||
282 | /* | 282 | /* |
283 | * Activate a secondary processor. | 283 | * Activate a secondary processor. |
284 | */ | 284 | */ |
285 | static void __cpuinit start_secondary(void *unused) | 285 | notrace static void __cpuinit start_secondary(void *unused) |
286 | { | 286 | { |
287 | /* | 287 | /* |
288 | * Don't put *anything* before cpu_init(), SMP booting is too | 288 | * Don't put *anything* before cpu_init(), SMP booting is too |
@@ -496,7 +496,7 @@ void __cpuinit set_cpu_sibling_map(int cpu) | |||
496 | } | 496 | } |
497 | 497 | ||
498 | /* maps the cpu to the sched domain representing multi-core */ | 498 | /* maps the cpu to the sched domain representing multi-core */ |
499 | cpumask_t cpu_coregroup_map(int cpu) | 499 | const struct cpumask *cpu_coregroup_mask(int cpu) |
500 | { | 500 | { |
501 | struct cpuinfo_x86 *c = &cpu_data(cpu); | 501 | struct cpuinfo_x86 *c = &cpu_data(cpu); |
502 | /* | 502 | /* |
@@ -504,9 +504,14 @@ cpumask_t cpu_coregroup_map(int cpu) | |||
504 | * And for power savings, we return cpu_core_map | 504 | * And for power savings, we return cpu_core_map |
505 | */ | 505 | */ |
506 | if (sched_mc_power_savings || sched_smt_power_savings) | 506 | if (sched_mc_power_savings || sched_smt_power_savings) |
507 | return per_cpu(cpu_core_map, cpu); | 507 | return &per_cpu(cpu_core_map, cpu); |
508 | else | 508 | else |
509 | return c->llc_shared_map; | 509 | return &c->llc_shared_map; |
510 | } | ||
511 | |||
512 | cpumask_t cpu_coregroup_map(int cpu) | ||
513 | { | ||
514 | return *cpu_coregroup_mask(cpu); | ||
510 | } | 515 | } |
511 | 516 | ||
512 | static void impress_friends(void) | 517 | static void impress_friends(void) |
@@ -1075,8 +1080,10 @@ static int __init smp_sanity_check(unsigned max_cpus) | |||
1075 | #endif | 1080 | #endif |
1076 | 1081 | ||
1077 | if (!physid_isset(hard_smp_processor_id(), phys_cpu_present_map)) { | 1082 | if (!physid_isset(hard_smp_processor_id(), phys_cpu_present_map)) { |
1078 | printk(KERN_WARNING "weird, boot CPU (#%d) not listed" | 1083 | printk(KERN_WARNING |
1079 | "by the BIOS.\n", hard_smp_processor_id()); | 1084 | "weird, boot CPU (#%d) not listed by the BIOS.\n", |
1085 | hard_smp_processor_id()); | ||
1086 | |||
1080 | physid_set(hard_smp_processor_id(), phys_cpu_present_map); | 1087 | physid_set(hard_smp_processor_id(), phys_cpu_present_map); |
1081 | } | 1088 | } |
1082 | 1089 | ||