Thread (9 messages) 9 messages, 5 authors, 2009-08-17

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help