Skip site navigation (1)Skip section navigation (2)
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>