Re: [rfc][patch] fs: turn iprune_mutex into rwsem
From: Nick Piggin <hidden>
Date: 2009-08-16 10:05:23
Also in:
linux-fsdevel
On Sat, Aug 15, 2009 at 03:57:42PM -0400, Christoph Hellwig wrote:
On Fri, Aug 14, 2009 at 05:25:05PM +0200, Nick Piggin wrote:quoted
Now I think the main problem is having the filesystem block (and do IO in inode reclaim. The problem is that this doesn't get accounted well and penalizes a random allocator with a big latency spike caused by work generated from elsewhere. I think the best idea would be to avoid this. By design if possible, or by deferring the hard work to an asynchronous context. If the latter, then the fs would probably want to throttle creation of new work with queue size of the deferred work, but let's not get into those details.I don't really see a good way to avoid this. For any filesystem that does some sort of preallocations we need to drop them in ->clear_inode.
OK, I agree sometimes it is not going to be possible. Although if the preallocations are on-disk, do you still have to drop them? If not on disk, then no IO is required. But anyway, I propose this patch exactly because it is not always possible to avoid slow/blocking ops (even in the vfs there are some). If it ever turns up to be a problem after that, I guess it might be possible to have another callback to schedule async slow work before dropping the inode. Or something like that. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>