Skip site navigation (1)Skip section navigation (2)
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>