[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070522183935.GF6138@think.oraclecorp.com>
Date: Tue, 22 May 2007 14:39:35 -0400
From: Chris Mason <chris.mason@...cle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Chuck Ebbert <cebbert@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: filesystem benchmarking fun
On Tue, May 22, 2007 at 11:21:20AM -0700, Andrew Morton wrote:
> >
> > I patched jbd's log_do_checkpoint to put all the blocks it wanted to
> > write in a radix tree, then send them all down in order at the end.
>
> Side note: we already have all of that capability in the kernel:
> sync_inode(blockdev_inode, wbc) will do an ascending-LBA write of the whole
> blockdev.
>
> It could be that as a quick diddle, running sync_inode() in
> do-block-on-queue-congestion mode prior to doing the checkpoint would have
> some benefit.
I had played with this in the past (although not this time around), but
I had performance problems with newly dirtied blocks sneaking in.
> > At any rate, it may be worth putzing with the writeback routines to try
> > and find dirty pages close by in the block dev inode when doing data
> > writeback. My guess is that ext3 should be going 1.5x to 2x faster for
> > this particular run, but that's a huge amount of complexity added so I'm
> > not convinced it is a great idea.
>
> Yes, this is a distinct disadvantage of the whole per-address-space
> writeback scheme - we're leaving IO scheduling optimisations on the floor,
> especially wrt the blockdev inode, but probably also wrt regular-file
> versus regular-file. Even if one makes the request queue tremendously
> huge, that won't help if there's dirty data close-by the disk head which
> hasn't even been put into the queue yet.
>
I'm not sure yet on a good way to fix it, but I do think I've nailed
it down as the cause of the strange performance numbers I'm getting.
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists