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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html