| Date | Thu, 30 Sep 2010 12:43:31 +1000 | From | Dave Chinner <> | Subject | Re: [PATCH 12/17] fs: Introduce per-bucket inode hash locks |
| |
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@fromorbit.com
|