From 55526dc0049f054aa393bc65abd446c54df0d5fd Mon Sep 17 00:00:00 2001 From: sobomax Date: Mon, 23 Aug 2004 15:55:03 +0000 Subject: My recent measurement shows that CPU_DISABLE_CMPXCHG is no longer necessary with VmWare 4.x. At least with VmWare version 4.5.2, i386 version of atomic_cmpset_int() is about 30 times slower than non-i386 version. It makes this delta a good 5.3 MFC candidate, since otherwise it will mislead users who run FreeBSD under modern VmWare otherwise. --- sys/i386/conf/NOTES | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sys/i386/conf') diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 6a6b4e6..ad92786 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -101,9 +101,11 @@ cpu I686_CPU # aka Pentium Pro(tm) # I/O device(s). # # CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 -# machines. VmWare seems to emulate this instruction poorly, causing -# the guest OS to run very slowly. Enabling this with an SMP kernel -# will cause the kernel to be unusable. +# machines. VmWare 3.x seems to emulate this instruction poorly, causing +# the guest OS to run very slowly. This problem appears to be fixed in +# VmWare 4.x, at least in version 4.5.2, so that enabling this option with +# VmWare 4.x will result in locking operations to be 20-30 times slower. +# Enabling this with an SMP kernel will cause the kernel to be unusable. # # CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE. # -- cgit v1.1