Date: Sun, 27 Jun 1999 19:46:41 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Peter Wemm <peter@netplex.com.au> Cc: current@FreeBSD.ORG, mckusick@mckusick.com Subject: Re: BUF_LOCK() related panic.. Message-ID: <199906280246.TAA16796@apollo.backplane.com> References: <19990627224713.A61D781@overcee.netplex.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
:Yep, I was aware of this before, but I didn't rip it out since I didn't :know what Kirk's intentions were. I'm assuming he's got his experience :with making the BSD/OS vfs reentrant in mind, so I don't want to break :anything that gets closer to that. A seperate test and then lock would :not be reentrant. (Sure, there are far bigger problems than this, but :every bit helps when we get there) I think that code runs at splbio(), so it would still work. But your right -- making the buffer cache code operate in an SMP environment would require a single atomic lock attempt. Still, to get to that point will take a huge amount of continued work so I would not worry about it too much now. :Actually, I think there is another set if missing BUF_KERNPROC() calls, :cluster_callback() frees buffers, so all buffers submitted with it had :better be reassigned. This is (I think) part of the problem that :cluster_wbuild() is hitting - things were supposed to have been reassigned :but are still hanging onto the current process. :... :-- :Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au : It could be. I've suggested to Kirk that he remove all the BUF_KERNPROC() stuff and instead reassign the lock in biodone(). My qlock stuff doesn't require lock reassign on release, so that could be why it isn't having problems while the lockmgr() stuff is. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906280246.TAA16796>