: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 - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
:

    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 
                                        <[EMAIL PROTECTED]>


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to