diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-03-03 14:13:03 -0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 17:40:56 +0200 |
commit | 70708a18e834fd709a4f497bb419ec84d1eb3511 (patch) | |
tree | d93d39ca9829f762f51406f9759d2dd54a88e112 /arch/x86/kernel | |
parent | 768d95051bdaf60b4eb89b42c133b14627f478f2 (diff) |
x86: move cpu_coregroup_map to common file
it is equal between architectures
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 16 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_32.c | 14 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_64.c | 14 |
3 files changed, 16 insertions, 28 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index d774520a6b4..644e60969f9 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1,6 +1,7 @@ #include <linux/init.h> #include <linux/smp.h> #include <linux/module.h> +#include <linux/sched.h> /* Number of siblings per CPU package */ int smp_num_siblings = 1; @@ -95,6 +96,21 @@ void __cpuinit set_cpu_sibling_map(int cpu) } } +/* maps the cpu to the sched domain representing multi-core */ +cpumask_t cpu_coregroup_map(int cpu) +{ + struct cpuinfo_x86 *c = &cpu_data(cpu); + /* + * For perf, we return last level cache shared map. + * And for power savings, we return cpu_core_map + */ + if (sched_mc_power_savings || sched_smt_power_savings) + return per_cpu(cpu_core_map, cpu); + else + return c->llc_shared_map; +} + + #ifdef CONFIG_HOTPLUG_CPU void remove_siblinginfo(int cpu) { diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 322f46674d4..a58ca7f1801 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c @@ -260,20 +260,6 @@ static void __cpuinit smp_callin(void) static int cpucount; -/* maps the cpu to the sched domain representing multi-core */ -cpumask_t cpu_coregroup_map(int cpu) -{ - struct cpuinfo_x86 *c = &cpu_data(cpu); - /* - * For perf, we return last level cache shared map. - * And for power savings, we return cpu_core_map - */ - if (sched_mc_power_savings || sched_smt_power_savings) - return per_cpu(cpu_core_map, cpu); - else - return c->llc_shared_map; -} - /* * Activate a secondary processor. */ diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c index 329f9c53a33..1a592400d94 100644 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c @@ -211,20 +211,6 @@ void __cpuinit smp_callin(void) cpu_set(cpuid, cpu_callin_map); } -/* maps the cpu to the sched domain representing multi-core */ -cpumask_t cpu_coregroup_map(int cpu) -{ - struct cpuinfo_x86 *c = &cpu_data(cpu); - /* - * For perf, we return last level cache shared map. - * And for power savings, we return cpu_core_map - */ - if (sched_mc_power_savings || sched_smt_power_savings) - return per_cpu(cpu_core_map, cpu); - else - return c->llc_shared_map; -} - /* * Setup code on secondary processor (after comming out of the trampoline) */ |