All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <npiggin@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [rfc][patch] fs: turn iprune_mutex into rwsem
Date: Sun, 16 Aug 2009 12:05:21 +0200	[thread overview]
Message-ID: <20090816100521.GA8644@wotan.suse.de> (raw)
In-Reply-To: <20090815195742.GA14842@infradead.org>

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.

WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <npiggin@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [rfc][patch] fs: turn iprune_mutex into rwsem
Date: Sun, 16 Aug 2009 12:05:21 +0200	[thread overview]
Message-ID: <20090816100521.GA8644@wotan.suse.de> (raw)
In-Reply-To: <20090815195742.GA14842@infradead.org>

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

  reply	other threads:[~2009-08-16 10:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-14 15:25 [rfc][patch] fs: turn iprune_mutex into rwsem Nick Piggin
2009-08-14 15:25 ` Nick Piggin
2009-08-14 22:58 ` Andrew Morton
2009-08-14 23:39   ` Jan Kara
2009-08-14 23:39     ` Jan Kara
2009-08-15  4:45   ` Nick Piggin
2009-08-15  4:45     ` Nick Piggin
2009-08-15  5:14   ` Nick Piggin
2009-08-15  5:14     ` Nick Piggin
2009-08-15 19:57 ` Christoph Hellwig
2009-08-15 19:57   ` Christoph Hellwig
2009-08-16 10:05   ` Nick Piggin [this message]
2009-08-16 10:05     ` Nick Piggin
2009-08-16 22:11   ` Andreas Dilger
2009-08-16 22:11     ` Andreas Dilger
2009-08-17  6:34     ` Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090816100521.GA8644@wotan.suse.de \
    --to=npiggin@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.