[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1303407205-sup-6141@think>
Date: Thu, 21 Apr 2011 13:34:44 -0400
From: Chris Mason <chris.mason@...cle.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-ext4 <linux-ext4@...r.kernel.org>, xfs <xfs@....sgi.com>,
jack <jack@...e.cz>, axboe <axboe@...nel.dk>,
dchinner <dchinner@...hat.com>
Subject: Re: buffered writeback torture program
Excerpts from Christoph Hellwig's message of 2011-04-21 04:32:58 -0400:
> On Wed, Apr 20, 2011 at 02:23:29PM -0400, Chris Mason wrote:
> But given that you are able to reproduce it, does the following patch
> help your latencies? Currently XFS actually does stop I/O when
> nr_to_write reaches zero, but only for non-blocking I/O. This behaviour
> was introduced in commit efceab1d563153a2b1a6e7d35376241a48126989
>
> "xfs: handle negative wbc->nr_to_write during sync writeback"
>
> and works around issues in the generic writeback code.
>
>
> Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c
> ===================================================================
> --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c 2011-04-21 10:20:48.303550404 +0200
> +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c 2011-04-21 10:20:58.203496773 +0200
> @@ -765,8 +765,7 @@ xfs_convert_page(
> SetPageUptodate(page);
>
> if (count) {
> - if (--wbc->nr_to_write <= 0 &&
> - wbc->sync_mode == WB_SYNC_NONE)
> + if (--wbc->nr_to_write <= 0)
> done = 1;
> }
> xfs_start_page_writeback(page, !page_dirty, count);
Sorry, this doesn't do it. I think that given what a strange special
case this is, we're best off waiting for the IO-less throttling, and
maybe changing the code in xfs/ext4 to be a little more seek aware. Or
maybe not, it has to get written eventually either way.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists