diff options
author | Nick Piggin <npiggin@suse.de> | 2008-01-30 13:32:31 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:32:31 +0100 |
commit | fb0328e2e6407d6f48a608aefa62b2be91989e7e (patch) | |
tree | 63b622b88dd422a0c6a62daa649ba48e9870f653 /arch/x86/Kconfig.cpu | |
parent | 583d0e90ea52f02ae4d103359ee59e8218799e27 (diff) | |
download | blackbird-op-linux-fb0328e2e6407d6f48a608aefa62b2be91989e7e.tar.gz blackbird-op-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>
Diffstat (limited to 'arch/x86/Kconfig.cpu')
-rw-r--r-- | arch/x86/Kconfig.cpu | 11 |
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 |