Date: Sat, 8 Sep 2001 14:55:12 -0700 From: Paul Saab <ps@freebsd.org> To: Matt Dillon <dillon@FreeBSD.org> 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> In-Reply-To: <200109082002.f88K2XF42571@freefall.freebsd.org>; from dillon@FreeBSD.org on Sat, Sep 08, 2001 at 01:02:33PM -0700 References: <200109082002.f88K2XF42571@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010908145512.A63107>