Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 27 Apr 2006 22:34:05 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Lockless page cache test results |
| |
On Fri, 28 Apr 2006, Nick Piggin wrote: > > > > See __d_lookup() for details. > > Yes I see. Perhaps a seqlock could do the trick (hmm, there already is one), > however we still have to increment the refcount, so there'll always be a > shared cacheline.
Actually, the thing I'd really _like_ to see is not even incrementing the refcount for intermediate directories (and those are actually the most common case).
It should be possible in theory to do a lookup of a long path all using the rcu_read_lock, and only do the refcount increment (and then you might as well do the d_lock thing) for the final component of the path.
Of course, it's not possible right now. We do each component separately, and we very much depend on the d_lock. For some things, we _have_ to do it that way (revalidation etc), so the "possible in theory" isn't always even true.
And every time I look at it, I decide that it's too damn complex, and the end result would look horrible, and that I'd probably get it wrong anyway.
Still, I've _looked_ at it several times.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |