Re: [PATCH] libxfs: stop caching inode structures

Christoph Hellwig
2013-10-15T16:06:50Z

On Tue, Oct 15, 2013 at 07:16:59AM +1100, Dave Chinner wrote:
> This all sounds good and the code looks fine, but there's one
> lingering question I have - what's the impact on performance for
> repair? Does it slow down phase 6/7 at all?

I have to admit that I'm just pulling memory from my hat as this is a
repost of an almost 1 year old patch, and I don't have equipment for
large scale performance testing at the moment.

But the biggest speedups I had seen was in filesystems where we had to
delete lots of inodes and thus manipulate the link count of hundreds of
thousands of directories in phase7 - with the current code we thrash the
inode cache badly there and got into deep swapping, and with this patch
we removed that thrashing (and often got the inodes from the buffer
cache still) and got rid of the swapping, causing speedups up to about
10%. Upto because the numbers for the previous case weren't too
reliable.

Not sure if my wording in the description wasn't clear enough but I
really can't come up with a case where the inode cache would help
in repair - all the users of it will eventually modify the inode and
thus hit the buffers anyway, so any unlikely help during lookup would
still be mood once we write back.

Actually I'll have to correct myself after going through the scenarious
another time - the no_modify case might get hit a little, but I don't
think it's worth optimizing for that.