diff options
author | Mike Travis <travis@sgi.com> | 2007-10-16 04:24:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:42:50 -0400 |
commit | d5a7430ddcdb598261d70f7eb1bf450b5be52085 (patch) | |
tree | 3b94672e0dbc2bff125de3266908f1a47a17b795 /include/asm-sparc64 | |
parent | 083576112940fda783d716fd5ccc744f81667b2f (diff) |
Convert cpu_sibling_map to be a per cpu variable
Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu
variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly
from startup and CPU HOTPLUG functions.
Signed-off-by: Mike Travis <travis@sgi.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r-- | include/asm-sparc64/smp.h | 3 | ||||
-rw-r--r-- | include/asm-sparc64/topology.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-sparc64/smp.h b/include/asm-sparc64/smp.h index e8a96a31761b..42c09949526c 100644 --- a/include/asm-sparc64/smp.h +++ b/include/asm-sparc64/smp.h | |||
@@ -28,8 +28,9 @@ | |||
28 | 28 | ||
29 | #include <asm/bitops.h> | 29 | #include <asm/bitops.h> |
30 | #include <asm/atomic.h> | 30 | #include <asm/atomic.h> |
31 | #include <asm/percpu.h> | ||
31 | 32 | ||
32 | extern cpumask_t cpu_sibling_map[NR_CPUS]; | 33 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); |
33 | extern cpumask_t cpu_core_map[NR_CPUS]; | 34 | extern cpumask_t cpu_core_map[NR_CPUS]; |
34 | extern int sparc64_multi_core; | 35 | extern int sparc64_multi_core; |
35 | 36 | ||
diff --git a/include/asm-sparc64/topology.h b/include/asm-sparc64/topology.h index 290ac75f385b..c6b557034f68 100644 --- a/include/asm-sparc64/topology.h +++ b/include/asm-sparc64/topology.h | |||
@@ -5,7 +5,7 @@ | |||
5 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) | 5 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) |
6 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) | 6 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) |
7 | #define topology_core_siblings(cpu) (cpu_core_map[cpu]) | 7 | #define topology_core_siblings(cpu) (cpu_core_map[cpu]) |
8 | #define topology_thread_siblings(cpu) (cpu_sibling_map[cpu]) | 8 | #define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu)) |
9 | #define mc_capable() (sparc64_multi_core) | 9 | #define mc_capable() (sparc64_multi_core) |
10 | #define smt_capable() (sparc64_multi_core) | 10 | #define smt_capable() (sparc64_multi_core) |
11 | #endif /* CONFIG_SMP */ | 11 | #endif /* CONFIG_SMP */ |