Date: Sat, 27 Feb 1999 10:09:08 +0000 (GMT) From: Doug Rabson <dfr@nlsystems.com> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Matthew Jacob <mjacob@feral.com>, freebsd-hackers@freebsd.org Subject: Re: Panic in FFS/4.0 as of yesterday - update Message-ID: <Pine.BSF.4.05.9902271006470.71457-100000@herring.nlsystems.com> In-Reply-To: <199902270019.QAA20214@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 26 Feb 1999, Matthew Dillon wrote: > :: Pop the patch at 1:00 p.m. today. By then I should have an update. > :: The one I have now is very close - just a couple of missing wakeups. > : > : This patch seems to fix buildworld. I ran Matt Jacob's STEST and managed > : to lock it up -- looks like flushdirtybuffers() needs to allow the syncer > : to get in whether or not some other process is flushing dirty buffers > : at the same time. > : > : I'll have another update to vfs_bio on my site at around 4:00 p.m. > : -Matt > > Ugh. inode lock now - if a process has a lock on an inode and then blocks > in getnewbuf(), the syncer can still allocate buffers but can deadlock > trying to lock the inode. > > I'll bet the inode lockup reported a few days ago under heavy test loads > is due to this problem too. The responsiveness problem which I was looking at wasn't a complete deadlock. It was just taking an unreasonable time to update directory entries (about 0.5sec). When combined with the fact that 100 processes were trying to create files, this left the root inode locked for a long time. > > I think the solution may be to have the syncer reschedule a vnode which > it finds locked rather then block getting the lock as it does now. That sounds like the right thing to do. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9902271006470.71457-100000>