tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Removal of recursive vnode locks

On Wed, Jun 16, 2010 at 09:57:49AM +0200, Juergen Hannken-Illjes wrote:
> With mount_domount() the last consumer of recursive vnode locks has left.
> I propose to completely remove the concept of recursive vnode locks by
> eliminating vn_setrecurse(), vn_restorerecurse() and LK_CANRECURSE.
> A diff is attached.
> Comments or objections anyone?

Looks good to me.  Thanks for doing this.

vlockmgr() could be re-arranged to be slightly more efficient, avoiding
an atomic operation where there is contention on the lock.  Like:

        switch (flags & whatever) {
        case LK_SHARED:
                rw_enter(rw, RW_READ);
                return 0;
        case LK_SHARED|LK_NOWAIT:
                return rw_tryenter(rw, RW_READ) ? 0 : EBUSY;

Home | Main Index | Thread Index | Old Index