Re: [patch 12/14] fs: dcache per-bucket dcache hash locking

From: Christoph Hellwig
Date: Mon Mar 30 2009 - 14:02:24 EST


On Mon, Mar 30, 2009 at 02:14:08PM +0200, Andi Kleen wrote:
> npiggin@xxxxxxx writes:
>
> > We can turn the dcache hash locking from a global dcache_hash_lock into
> > per-bucket locking.
>
> Per bucket locking is typically a bad idea because you get far too
> many locks and you increase cache footprint with all of them. It's
> typically better to use a second much smaller hash table that only has
> locks (by just shifting the hash value down some more)
> Just need to be careful to avoid too much false sharing.

Yeah, I'm also not too happy about it. I think we're better off
replacing the global hash with more fine-grained structures. That might
even some sort of simplistic tree hanging of directory dentries.

The hard part in getting anything like this done was always the amount
of different things dcache_lock protects besiseds the hash, but Nick's
earlier patches when actually fully implemented should sort that out.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/