summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Piggin2008-01-30 13:32:31 +0100
committerIngo Molnar2008-01-30 13:32:31 +0100
commitfb0328e2e6407d6f48a608aefa62b2be91989e7e (patch)
tree63b622b88dd422a0c6a62daa649ba48e9870f653
parentx86: unify arch/x86/lib/Makefile(s) (diff)
downloadkernel-qcow2-linux-fb0328e2e6407d6f48a608aefa62b2be91989e7e.tar.gz
kernel-qcow2-linux-fb0328e2e6407d6f48a608aefa62b2be91989e7e.tar.xz
kernel-qcow2-linux-fb0328e2e6407d6f48a608aefa62b2be91989e7e.zip
x86: reduce CONFIG_X86_PPRO_FENCE bloat
CONFIG_X86_PPRO_FENCE bloats text: i386 allmodconf: size mm/built-in.o text data bss dec hex text ratio vanilla: 163082 20372 40120 223574 36956 100.00% bugfix : 163509 20372 40120 224001 36b01 0.26% noppro : 162191 20372 40120 222683 365db - 0.55% both : 162267 20372 40120 222759 36627 - 0.50% (+0.05% vs noppro) So with the ppro memory ordering bug out of the way, the PG_uptodate fix only adds 76 bytes of text. allow this config to be specified by distros. [ mingo@elte.hu: x86.git merge ] Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/Kconfig.cpu11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index 018d68e3184e..e09a6b73a1aa 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -321,8 +321,17 @@ config X86_XADD
depends on X86_32 && !M386
config X86_PPRO_FENCE
- def_bool y
+ bool "PentiumPro memory ordering errata workaround"
depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1
+ help
+ Old PentiumPro multiprocessor systems had errata that could cause memory
+ operations to violate the x86 ordering standard in rare cases. Enabling this
+ option will attempt to work around some (but not all) occurances of
+ this problem, at the cost of much heavier spinlock and memory barrier
+ operations.
+
+ If unsure, say n here. Even distro kernels should think twice before enabling
+ this: there are few systems, and an unlikely bug.
config X86_F00F_BUG
def_bool y