Re: fs: Inode cache scalability V3

From: Christoph Hellwig
Date: Wed Oct 13 2010 - 20:06:38 EST


On Thu, Oct 14, 2010 at 10:55:52AM +1100, Dave Chinner wrote:
> > I wonder what's a good workaround for that. Just flushing out all
> > dirty state of a block device inode on last close would fix, but we'd
> > still have all the dragons hidden underneath until we finally sort
> > out the bdi reference mess.
>
> Perhaps for the moment make __blkdev_put() move the inode onto the
> dirty lists for the default bdi when it switches them???in the
> mapping? e.g. add a "inode_switch_bdi" helper that is only called in
> this case?

I really hate to sprinkle special cases all over, but given that Linus
decreed he's not going to take larger writeback changes which would be
required to fix this for .37 it'll be hard to avoid this.

Note that it would really be a bdev_inode_switch_bdi - since the move
to using ->s_bdi for all other inodes these hacks aren't required
anymore, it's just the block devices that continue using the bdi
from the mapping that are causing problems.

--
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/