Skip to contentSkip to conversation

x86: Move x86_cpu_to_apicid to the __read_mostly section

PATCH New Vlad Zolotarov 1 participant 1 message Apr 17, 2012 x86

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 x86: Move x86_cpu_to_apicid to the __read_mostly section

From: Shai Fultheim <[email protected]>

x86_cpu_to_apicid is only written to during initialization. Benchmarks show that moving it to the __read_mostly section helps avoid false sharing on large multiprocessing systems.

---
 arch/x86/include/asm/smp.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/include/asm/smp.h +1 -1
index 0434c40..b9d6c1e 100644
@@ -53,7 +53,7 @@ static inline struct cpumask *cpu_llc_shared_mask(int cpu)
 	return per_cpu(cpu_llc_shared_map, cpu);
 }
 
-DECLARE_EARLY_PER_CPU(u16, x86_cpu_to_apicid);
+DECLARE_EARLY_PER_CPU_READ_MOSTLY(u16, x86_cpu_to_apicid);
 DECLARE_EARLY_PER_CPU(u16, x86_bios_cpu_apicid);
 #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_X86_32)
 DECLARE_EARLY_PER_CPU(int, x86_cpu_to_logical_apicid);
Signature · 1 line
1.7.7.6