From owner-freebsd-current Thu Feb 8 4: 8:47 2001 Delivered-To: freebsd-current@freebsd.org Received: from syncopation-03.iinet.net.au (syncopation-03.iinet.net.au [203.59.24.49]) by hub.freebsd.org (Postfix) with SMTP id 6BA4E37B491 for ; Thu, 8 Feb 2001 04:08:25 -0800 (PST) Received: (qmail 13646 invoked by uid 666); 8 Feb 2001 12:15:51 -0000 Received: from reggae-02-154.nv.iinet.net.au (HELO elischer.org) (203.59.91.154) by mail.m.iinet.net.au with SMTP; 8 Feb 2001 12:15:51 -0000 Message-ID: <3A828C2C.F7CDA809@elischer.org> Date: Thu, 08 Feb 2001 04:08:12 -0800 From: Julian Elischer X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 5.0-CURRENT i386) X-Accept-Language: en, hu MIME-Version: 1.0 To: Josef Karthauser Cc: Robert Watson , Dag-Erling Smorgrav , Brian Somers , Bruce Evans , freebsd-current@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: What's changed recently with vmware/linuxemu/file I/O References: <20010208113519.A789@tao.org.uk> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Josef Karthauser wrote: > > The slowdown during start up appears to be in biowr; this is probably > because of IDE write caching being switched off. More seriously > the vmware hangs during various phases of it's boot process. Write caching is incompaible with soft updates. The drive must NEVER report that something is on disk when it really is not! > > i.e: > > 714 root -14 0 123M 79192K inode 0:45 25.29% 25.29% vmware > > When this happens the whole machine freezes also. Processes run, but > new processes don't get forked. The whole machine appears to be I/O > bound. (What's the 'inode' state?) this sounds like a differnt starvation problem. when it's happenning, what does 'iostat 1' show? (how many transactions per second?) I believe that vmware mmaps a region of memory and then somehow syncs it to disk. (It is certainly doing something like it here). > > The problem is definitely solved by enabling ATA_ENABLE_WC in the kernel > config. What's unclear to me is why the hang in 'inode' with it > switched off. I understand that biowr's would take longer, which is > vmware does as it brings up the virtual machine, but why the hanging > and freezing in 'inode'? maybe syncing mmapped regions locks out other types of activity? Matt? > > +#else > + if (ata_command(adp->controller, adp->unit, ATA_C_SETFEATURES, > + 0, 0, 0, 0, ATA_C_F_DIS_WCACHE, ATA_WAIT_INTR)) > + printf("ad%d: disabling write cache failed\n", adp->lun); > +#endif > we used to do this on the interjet because we ran soft updates. -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000-2001 ---> X_.---._/ v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message