From: Ravikiran G Thirumalai Date: Wed, 31 Dec 2008 21:44:46 +0000 (-0800) Subject: x86: fix incorrect __read_mostly on _boot_cpu_pda X-Git-Tag: v2.6.28.1~80 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ca0afb558614a8934427e8de3cf8c00168e384c4;p=karo-tx-linux.git x86: fix incorrect __read_mostly on _boot_cpu_pda commit 26799a63110dcbe81291ea53178f6b4810d07424 upstream. The pda rework (commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209) to remove static boot cpu pdas introduced a performance bug. _boot_cpu_pda is the actual pda used by the boot cpu and is definitely not "__read_mostly" and ended up polluting the read mostly section with writes. This bug caused regression of about 8-10% on certain syscall intensive workloads. Signed-off-by: Ravikiran Thirumalai Acked-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index d16084f90649..9461dc3d243c 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c @@ -26,7 +26,7 @@ #include /* boot cpu pda */ -static struct x8664_pda _boot_cpu_pda __read_mostly; +static struct x8664_pda _boot_cpu_pda; #ifdef CONFIG_SMP /*