diff options
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
| -rw-r--r-- | arch/i386/kernel/smpboot.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index ab5275beddf7..89e7315e539c 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
| @@ -448,10 +448,12 @@ cpumask_t cpu_coregroup_map(int cpu) | |||
| 448 | struct cpuinfo_x86 *c = cpu_data + cpu; | 448 | struct cpuinfo_x86 *c = cpu_data + cpu; |
| 449 | /* | 449 | /* |
| 450 | * For perf, we return last level cache shared map. | 450 | * For perf, we return last level cache shared map. |
| 451 | * TBD: when power saving sched policy is added, we will return | 451 | * And for power savings, we return cpu_core_map |
| 452 | * cpu_core_map when power saving policy is enabled | ||
| 453 | */ | 452 | */ |
| 454 | return c->llc_shared_map; | 453 | if (sched_mc_power_savings || sched_smt_power_savings) |
| 454 | return cpu_core_map[cpu]; | ||
| 455 | else | ||
| 456 | return c->llc_shared_map; | ||
| 455 | } | 457 | } |
| 456 | 458 | ||
| 457 | /* representing cpus for which sibling maps can be computed */ | 459 | /* representing cpus for which sibling maps can be computed */ |
