Re: [rfc][patch] fs: turn iprune_mutex into rwsem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux