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>
