From owner-freebsd-hackers Thu Feb 8 3:35:52 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from tao.org.uk (genesis.tao.org.uk [194.242.131.94]) by hub.freebsd.org (Postfix) with ESMTP id 77A2B37B401; Thu, 8 Feb 2001 03:35:20 -0800 (PST) Received: by tao.org.uk (Postfix, from userid 100) id 7984C311E; Thu, 8 Feb 2001 11:35:19 +0000 (GMT) Date: Thu, 8 Feb 2001 11:35:19 +0000 From: Josef Karthauser To: Robert Watson Cc: Dag-Erling Smorgrav , Brian Somers , Julian Elischer , Bruce Evans , freebsd-current@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: What's changed recently with vmware/linuxemu/file I/O Message-ID: <20010208113519.A789@tao.org.uk> Mail-Followup-To: Josef Karthauser , Robert Watson , Dag-Erling Smorgrav , Brian Somers , Julian Elischer , Bruce Evans , freebsd-current@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="FL5UXtIhxfXey3p5" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from rwatson@FreeBSD.ORG on Wed, Feb 07, 2001 at 10:07:06PM -0500 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Feb 07, 2001 at 10:07:06PM -0500, Robert Watson wrote: >=20 > On 7 Feb 2001, Dag-Erling Smorgrav wrote: >=20 > > Brian Somers writes: > > > Indeed. I've been doing a ``make build'' on an OpenBSD-current vm=20 > > > for three days (probably about 36 hours excluding suspends) on a=20 > > > 366MHz laptop with a ATA33 disk. > >=20 > > Would it be possible for someone experiencing this slowdown to try to > > narrow down the day (or even the week) on which it occurred? >=20 > I've experienced a substantial slowdown in VMware since bumping forwards > from -STABLE on my workstation. As I recently commented on -emulation, > I've also been experiencing 30-40 second hangs of the system during VMware > startup and occasional serious slowdown while running, which may be > related to the fairly intensive VM activity for page wiring and the like, > or possible poor interaction with the ATA driver. I also get messages on > the order of the following:=20 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. 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?) 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'? Joe RCS file: /home/ncvs/src/sys/dev/ata/ata-disk.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- ata-disk.c 2001/01/19 13:53:54 1.91 +++ ata-disk.c 2001/01/29 18:00:35 1.92 @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.91 2001/01/19 13:53:54 peter E= xp $ + * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.92 2001/01/29 18:00:35 sos Exp= $ */ =20 #include "opt_global.h" @@ -133,10 +133,15 @@ 0, 0, 0, 0, ATA_C_F_ENAB_RCACHE, ATA_WAIT_INTR)) printf("ad%d: enabling readahead cache failed\n", adp->lun); =20 +#if defined(ATA_ENABLE_WC) || defined(ATA_ENABLE_TAGS) if (ata_command(adp->controller, adp->unit, ATA_C_SETFEATURES, 0, 0, 0, 0, ATA_C_F_ENAB_WCACHE, ATA_WAIT_INTR)) printf("ad%d: enabling write cache failed\n", adp->lun); - +#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 /* use DMA if drive & controller supports it */ ata_dmainit(adp->controller, adp->unit, ata_pmode(AD_PARAM), ata_wmode(AD_PARAM), ata_umode(AD_PARA= M)); --FL5UXtIhxfXey3p5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjqChHYACgkQXVIcjOaxUBat+ACeMJNFQX4zP+xZSRxN1fDqcYeJ qTMAoOiVt/Rhx4louR4jTipN1ZavkRmz =ezi+ -----END PGP SIGNATURE----- --FL5UXtIhxfXey3p5-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message