From owner-cvs-all Sat Sep 8 14:55:26 2001 Delivered-To: cvs-all@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id 904CB37B409; Sat, 8 Sep 2001 14:55:17 -0700 (PDT) Received: by elvis.mu.org (Postfix, from userid 1000) id 7B0B081D05; Sat, 8 Sep 2001 16:55:12 -0500 (CDT) Date: Sat, 8 Sep 2001 14:55:12 -0700 From: Paul Saab To: Matt Dillon Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern imgact_aout.c imgact_elf.c kern_sig.c vfs_vnops.c src/sys/compat/pecoff imgact_pecoff.c src/sys/sys vnode.h Message-ID: <20010908145512.A63107@elvis.mu.org> References: <200109082002.f88K2XF42571@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200109082002.f88K2XF42571@freefall.freebsd.org>; from dillon@FreeBSD.org on Sat, Sep 08, 2001 at 01:02:33PM -0700 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Not to take all the credit here, but it was Peter's idea to change to an advisory lock.. :) Matt Dillon (dillon@FreeBSD.org) wrote: > dillon 2001/09/08 13:02:33 PDT > > Modified files: > sys/kern imgact_aout.c imgact_elf.c kern_sig.c > vfs_vnops.c > sys/compat/pecoff imgact_pecoff.c > sys/sys vnode.h > Log: > This brings in a Yahoo coredump patch from Paul, with additional mods by > me (addition of vn_rdwr_inchunks). The problem Yahoo is solving is that > if you have large process images core dumping, or you have a large number of > forked processes all core dumping at the same time, the original coredump code > would leave the vnode locked throughout. This can cause the directory vnode > to get locked up, which can cause the parent directory vnode to get locked > up, and so on all the way to the root node, locking the entire machine up > for extremely long periods of time. > > This patch solves the problem in two ways. First it uses an advisory > non-blocking lock to abort multiple processes trying to core to the same > file. Second (my contribution) it chunks up the writes and uses bwillwrite() > to avoid holding the vnode locked while blocking in the buffer cache. > > Submitted by: ps > Reviewed by: dillon > MFC after: 2 weeks > > Revision Changes Path > 1.71 +5 -5 src/sys/kern/imgact_aout.c > 1.103 +6 -5 src/sys/kern/imgact_elf.c > 1.132 +20 -5 src/sys/kern/kern_sig.c > 1.119 +40 -1 src/sys/kern/vfs_vnops.c > 1.9 +5 -5 src/sys/compat/pecoff/imgact_pecoff.c > 1.155 +4 -1 src/sys/sys/vnode.h > -- Paul Saab Technical Yahoo ps@mu.org - ps@yahoo-inc.com - ps@freebsd.org Do You .. uhh .. Yahoo!? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message