Date: Tue, 13 Nov 2001 23:39:43 +0000 From: Ian Dowse <iedowse@maths.tcd.ie> To: Robert Watson <rwatson@FreeBSD.org> Cc: Makoto Matsushita <matusita@jp.freebsd.org>, hackers@FreeBSD.org Subject: Re: FreeBSD on vmware Message-ID: <200111132339.aa29506@salmon.maths.tcd.ie> In-Reply-To: Your message of "Tue, 13 Nov 2001 17:00:24 EST." <20011113165944.G52323-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20011113165944.G52323-100000@fledge.watson.org>, Robert Watson writ es: >I've had -STABLE run fine, but of late have had a lot of trouble with >-current. Userland processes during the boot sequence seem to spend a lot >of time just spinning -- it's not clear to me what the cause is, and I >haven't had time to debug. Someone mentioned on a list somewhere that vmware takes forever to emulate the cmpxchg instruction, and that using the I386_CPU version of atomic_cmpset_int() helps a lot. I noticed a major vmware slowdown with -current sometime in September, so I tried avoiding the cmpxchg's and things got much faster. Below is the patch I use (using this outside vmware on SMP hardware is a bad idea :-). Ian Index: atomic.h =================================================================== RCS file: /dump/FreeBSD-CVS/src/sys/i386/include/atomic.h,v retrieving revision 1.21 diff -u -r1.21 atomic.h --- atomic.h 2001/10/08 20:58:24 1.21 +++ atomic.h 2001/10/09 18:35:25 @@ -111,7 +111,7 @@ * Returns 0 on failure, non-zero on success */ -#if defined(I386_CPU) +#if defined(I386_CPU) || 1 static __inline int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src) { To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200111132339.aa29506>