Messages in this thread | | | Date | Sat, 8 May 2004 12:27:08 -0700 | From | Andrew Morton <> | Subject | Re: dentry bloat. |
| |
Linus Torvalds <torvalds@osdl.org> wrote: > > On Sat, 8 May 2004, Andrew Morton wrote: > > > > I think we can simply take ->d_lock a bit earlier in __d_lookup. That will > > serialise against d_move(), fixing the problem which you mention, and also > > makes d_movecount go away. > > If you do that, RCU basically loses most of it's meaning. > > You'll be taking a lock for - and dirtying in the cache - every single > dentry on the hash chain, which is pretty much guaranteed to be slower > than just taking the dcache_lock _once_, even if that one jumps across > CPU's a lot.
Can take the lock after comparing the hash and the parent?
And if we recheck those after locking, d_movecount is unneeded? - 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/
| |