All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Matt Mackall <mpm@selenic.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Chris Mason <chris.mason@oracle.com>,
	Chuck Ebbert <cebbert@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: filesystem benchmarking fun
Date: Fri, 25 May 2007 09:14:20 +0200	[thread overview]
Message-ID: <20070525071420.GL7653@kernel.dk> (raw)
In-Reply-To: <20070522212524.GD11166@waste.org>

On Tue, May 22 2007, Matt Mackall wrote:
> On Tue, May 22, 2007 at 11:21:20AM -0700, Andrew Morton wrote:
> > On Tue, 22 May 2007 12:35:11 -0400
> > Chris Mason <chris.mason@oracle.com> wrote:
> > 
> > > On Wed, May 16, 2007 at 01:37:26PM -0700, Andrew Morton wrote:
> > > > On Wed, 16 May 2007 16:14:14 -0400
> > > > Chris Mason <chris.mason@oracle.com> wrote:
> > > > 
> > > > > On Wed, May 16, 2007 at 01:04:13PM -0700, Andrew Morton wrote:
> > > > > > > The good news is that if you let it run long enough, the times
> > > > > > > stabilize.  The bad news is:
> > > > > > > 
> > > > > > > create dir kernel-86 222MB in 15.85 seconds (14.03 MB/s)
> > > > > > > create dir kernel-87 222MB in 28.67 seconds (7.76 MB/s)
> > > > > > > create dir kernel-88 222MB in 18.12 seconds (12.27 MB/s)
> > > > > > > create dir kernel-89 222MB in 19.77 seconds (11.25 MB/s)
> > > > > > 
> > > > > > well hang on.  Doesn't this just mean that the first few runs were writing
> > > > > > into pagecache and the later ones were blocking due to dirty-memory limits?
> > > > > > 
> > > > > > Or do you have a sync in there?
> > > > > > 
> > > > > There's no sync,  but if you watch vmstat you can clearly see the log
> > > > > flushes, even when the overall create times are 11MB/s.  vmstat goes
> > > > > 30MB/s -> 4MB/s or less, then back up to 30MB/s.
> > > > 
> > > > How do you know that it is a log flush rather than, say, pdflush
> > > > hitting the blockdev inode and doing a big seeky write?
> > > 
> > > Ok, I did some more work to split out the two cases (block device inode
> > > writeback and log flushing).
> > > 
> > > 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.
> 
> Why don't we simply plug the queue, do all the writes, and let the I/O
> scheduler sort it out instead?

The data set is too huge for that to work, even if you increased
nr_requests to some huuuge number.

-- 
Jens Axboe


  reply	other threads:[~2007-05-25  7:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-16 14:42 filesystem benchmarking fun Chris Mason
2007-05-16 16:01 ` Chuck Ebbert
2007-05-16 17:11   ` Chris Mason
2007-05-16 18:25     ` Andrew Morton
2007-05-16 19:13       ` Chris Mason
2007-05-16 19:33         ` Andrew Morton
2007-05-16 19:53           ` Chris Mason
2007-05-16 20:04             ` Andrew Morton
2007-05-16 20:14               ` Chris Mason
2007-05-16 20:37                 ` Andrew Morton
2007-05-16 21:02                   ` Chris Mason
2007-05-24 17:29                     ` Vara Prasad
2007-05-22 16:35                   ` Chris Mason
2007-05-22 17:50                     ` John Stoffel
2007-05-22 18:12                       ` Chris Mason
2007-05-22 18:21                     ` Andrew Morton
2007-05-22 18:39                       ` Chris Mason
2007-05-22 21:25                       ` Matt Mackall
2007-05-25  7:14                         ` Jens Axboe [this message]
2007-05-16 18:12 ` Jan Engelhardt
2007-05-16 19:12   ` Jeff Garzik
2007-05-16 19:16     ` Jeffrey Hundstad
2007-05-16 19:21       ` Jan Engelhardt
2007-05-18  3:32     ` Eric Sandeen
2007-05-16 19:25   ` Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2007-05-16 21:01 Al Boldi
2007-05-17 11:52 Xu CanHao

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=20070525071420.GL7653@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=cebbert@redhat.com \
    --cc=chris.mason@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    /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.