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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]