Subject: Re: vmware periodic freeze
To: Christian Groessler <cpg@aladdin.de>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 07/14/2001 12:29:58
On Sat, Jul 14, 2001 at 12:28:25AM +0200, Christian Groessler wrote:
> On 07/13/2001 11:44:34 PM ZE2 Manuel Bouyer wrote:
> >
> >On Fri, Jul 13, 2001 at 11:05:13PM +0200, Christian Groessler wrote:
> >>
> >> About every 3 seconds the vmware machine freezes for about 3
> >> seconds.
> >> While this happens one of the vmware processes is in a function
> >> "xscmd".
> >> Here's the ps axl line:
> >>
> >>    0 363  360   0  -6 -19  3092   1992 xscmd    D<L  ?? 0:00.13
> >>    /emul/linux/usr/local/bin/vmware -q notesnt/vm-nt.cfg
> >>
> >> I cannot find this xscmd function, a nm /netbsd | grep xscmd reveils
> >> nothing.
> >
> >This is in the scsipi code. Your process is waiting for a SCSI or ATAPI
> >command to complete.
> 
> But why didn't I find the name in /netbsd? I'm still curious where ps
> got it from.

This isn't a symbol but a string:
scsipi_base.c:1901:             (void) tsleep(xs, PRIBIO, "xscmd", 0);

> 
> >
> >Do you have a CD or ZIP drive ? Does vmware try to use it ?
> >I suspect it is try to access CD or ZIP (maybe just a Test Unit Ready) and
> >as the drive is empty the command takes some time to complete.
> 
> Yes! Yes! Yes! This was the reason. I disabled the CDROM in the vmware
> configuration and now the NT4 VM is working fine!  Thanks!
> 
> But, I'm sorry to say, there still seems to be a problem/quirk in NetBSD
> VMWare. The drive wasn't empty (but the drive is really cheap). It
> takes this delay when accessing it (mounting and reading data) on both
> Linux and NetBSD native.

But this doesn't hang the machine, rigth ?

> So this explains the delay. But using the same vmware configuration,
> running it on Linux this delay (freeze) doesn't happen.
> Either on Linux these (VMWare/NT4?) device accesses are cached or
> don't affect the machine this heavily?

I think NT does this to detect when a media is inserted in the CD.
If linux caches accesses then NT wouldn't be able to detect a media load.
Maybe in linux vmware does this is a different thread, so that it doesn't
have to wait for the command to complete to keep running ?

--
Manuel Bouyer <bouyer@antioche.eu.org>
--