From owner-freebsd-stable  Tue Dec  5 22:51:42 2000
From owner-freebsd-stable@FreeBSD.ORG  Tue Dec  5 22:51:38 2000
Return-Path: <owner-freebsd-stable@FreeBSD.ORG>
Delivered-To: freebsd-stable@freebsd.org
Received: from earth.backplane.com (placeholder-dcat-1076843399.broadbandoffice.net [64.47.83.135])
	by hub.freebsd.org (Postfix) with ESMTP id 2FBA137B400
	for <stable@freebsd.org>; Tue,  5 Dec 2000 22:51:38 -0800 (PST)
Received: (from dillon@localhost)
	by earth.backplane.com (8.11.1/8.9.3) id eB66p0c91421;
	Tue, 5 Dec 2000 22:51:00 -0800 (PST)
	(envelope-from dillon)
Date: Tue, 5 Dec 2000 22:51:00 -0800 (PST)
From: Matt Dillon <dillon@earth.backplane.com>
Message-Id: <200012060651.eB66p0c91421@earth.backplane.com>
To: Barry Lustig <barry@lustig.com>
Cc: stable@freebsd.org, Garance A Drosihn <drosih@rpi.edu>
Subject: Re: VMware hanging
References: <20001118231633.A85206@evilcode.com>
	<200011190635.eAJ6ZRS94516@grumpy.dyndns.org>
	<20001118230305.A83848@evilcode.com>
	<20001119151138.A7434@bsdvm.jtjang.idv.tw>
	<200011192202.eAJM2cG03593@billy-club.village.org>
	<200011192239.eAJMdDa90818@earth.backplane.com> 
	<200011192308.eAJN8q714360@whizzo.transsys.com>
	<200011192324.eAJNO1891133@earth.backplane.com>
	<20001205232913.15317.qmail@devious.lustig.com>
	<200012060019.eB60JgJ88193@earth.backplane.com>
	<20001206023936.15587.qmail@devious.lustig.com>
	<200012060324.eB63OvG90385@earth.backplane.com> <20001206051514.15819.qmail@devious.lustig.com>
Sender: owner-freebsd-stable@FreeBSD.ORG
Precedence: bulk
X-Loop: FreeBSD.ORG


    Ok, your system appears to be locked up in the buffer cache code.  
    Something (probably vmware) created over 1800 dirty buffers.  The
    high water mark is less then 500.

	(kgdb) print numdirtybuffers
	$8 = 0x71f		<--------- oops
	(kgdb) print hidirtybuffers
	$9 = 0x1e7

    I believe what is going on here is that some process is writing
    data through the filesystem and bypassing the low-memory bwillwrite()
    code.

    I'm going to hazzard a guess that it could be writev(), which missed
    my bwillwrite() patch.  Please try the patch below.  If it isn't this
    it's got to be something similar, somewhere.

					-Matt

Index: kern/sys_generic.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/sys_generic.c,v
retrieving revision 1.55.2.8
diff -u -r1.55.2.8 sys_generic.c
--- kern/sys_generic.c	2000/11/26 02:30:04	1.55.2.8
+++ kern/sys_generic.c	2000/12/06 06:49:33
@@ -494,6 +494,7 @@
 	}
 #endif
 	cnt = auio.uio_resid;
+	bwillwrite();
 	if ((error = fo_write(fp, &auio, fp->f_cred, 0, p))) {
 		if (auio.uio_resid != cnt && (error == ERESTART ||
 		    error == EINTR || error == EWOULDBLOCK))


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message