From: Nick Piggin Date: Wed, 30 Jan 2008 12:32:31 +0000 (+0100) Subject: x86: reduce CONFIG_X86_PPRO_FENCE bloat X-Git-Tag: v2.6.25-rc1~1143^2~446 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=fb0328e2e6407d6f48a608aefa62b2be91989e7e;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Thomas Gleixner --- diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 018d68e3184..e09a6b73a1a 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