Messages in this thread Patch in this message | | | Date | Wed, 31 Dec 2008 13:44:46 -0800 | From | Ravikiran G Thirumalai <> | Subject | [patch] x86: Fix incorrect __read_mostly on _boot_cpu_pda |
| |
The pda rework (commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209) to remove static boot cpu pdas introduced a 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 <kiran@scalex86.org>
Index: linux-2.6/arch/x86/kernel/head64.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/head64.c 2008-12-30 15:28:08.000000000 -0800 +++ linux-2.6/arch/x86/kernel/head64.c 2008-12-31 10:36:21.000000000 -0800 @@ -27,7 +27,7 @@ #include <asm/trampoline.h> /* boot cpu pda */ -static struct x8664_pda _boot_cpu_pda __read_mostly; +static struct x8664_pda _boot_cpu_pda; #ifdef CONFIG_SMP /*
| |