aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2007-10-19 14:35:03 -0400
committerThomas Gleixner <tglx@linutronix.de>2007-10-19 14:35:03 -0400
commitb6278470b7cdbf2bf6ba7345130d83924451a51a (patch)
tree935ed13ace9c4170ec886c0c7a9f34dbbec15844 /include/asm-x86
parent71fff5e6ca1b738ac4742580e4c0ff79d906f6c8 (diff)
x86: convert cpu_llc_id to be a per cpu variable
Convert cpu_llc_id from a static array sized by NR_CPUS to a per_cpu variable. This saves sizeof(cpu_llc_id) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. Note there's an additional change of the type of cpu_llc_id from int to u8 for ARCH i386 to correspond with the same type in ARCH x86_64. 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> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86')
-rw-r--r--include/asm-x86/processor_32.h6
-rw-r--r--include/asm-x86/smp_64.h3
2 files changed, 7 insertions, 2 deletions
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h
index 83800e7496e..565b6fc5f5b 100644
--- a/include/asm-x86/processor_32.h
+++ b/include/asm-x86/processor_32.h
@@ -110,7 +110,11 @@ extern struct cpuinfo_x86 cpu_data[];
110#define current_cpu_data boot_cpu_data 110#define current_cpu_data boot_cpu_data
111#endif 111#endif
112 112
113extern int cpu_llc_id[NR_CPUS]; 113/*
114 * the following now lives in the per cpu area:
115 * extern int cpu_llc_id[NR_CPUS];
116 */
117DECLARE_PER_CPU(u8, cpu_llc_id);
114extern char ignore_fpu_irq; 118extern char ignore_fpu_irq;
115 119
116void __init cpu_detect(struct cpuinfo_x86 *c); 120void __init cpu_detect(struct cpuinfo_x86 *c);
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h
index f1545704e24..6f0e0273b64 100644
--- a/include/asm-x86/smp_64.h
+++ b/include/asm-x86/smp_64.h
@@ -49,7 +49,7 @@ extern int smp_call_function_mask(cpumask_t mask, void (*func)(void *),
49 */ 49 */
50DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); 50DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
51DECLARE_PER_CPU(cpumask_t, cpu_core_map); 51DECLARE_PER_CPU(cpumask_t, cpu_core_map);
52extern u8 cpu_llc_id[NR_CPUS]; 52DECLARE_PER_CPU(u8, cpu_llc_id);
53 53
54#define SMP_TRAMPOLINE_BASE 0x6000 54#define SMP_TRAMPOLINE_BASE 0x6000
55 55
@@ -121,6 +121,7 @@ static __inline int logical_smp_processor_id(void)
121#ifdef CONFIG_SMP 121#ifdef CONFIG_SMP
122#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu) 122#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu)
123#else 123#else
124extern unsigned int boot_cpu_id;
124#define cpu_physical_id(cpu) boot_cpu_id 125#define cpu_physical_id(cpu) boot_cpu_id
125#endif /* !CONFIG_SMP */ 126#endif /* !CONFIG_SMP */
126#endif 127#endif