Re: [PATCH 12/17] fs: Introduce per-bucket inode hash locks

From: Dave Chinner
Date: Wed Sep 29 2010 - 22:43:41 EST


On Wed, Sep 29, 2010 at 09:52:14PM -0400, Christoph Hellwig wrote:
>
> Instead of doing the lock overkill on a still fundamentally global data
> structure what about replacing this with something better. I know
> you've already done this with the XFS icache, and while the per-AG
> concept obviously can't be generic at least some of the lessons could be
> applied.

The XFS inode cache design is tied tightly to the inode layout in
XFS, so the tree-per-ag-per-mount parallelism design really does not
work in a generic manner. Sure, we could probably make it a
hashed-tree rather than hashed-link-list design, but that's a much
more fundamental change than just splitting the locks up.

> then again how much testing did this get anyway given that you
> benchmark ran mostly XFS which doesn't hit this at all?

I've been running comparitive benchmarks on ext4 as well so that I
also test all the generic paths.

> If it was up to me I'd dtop this (and the bl_list addition) from the
> series for now and wait for people who care about the scalability of
> the generic icache code to come up with a better data structure.

I think that it's going to take a lot of work to come up with
something more generically optimal, so in the mean time I think this
is a net win for filesystems that use the generic icache.

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
--
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/