From: Frederic Weisbecker <fweisbec@gmail.com>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Jan Kara <jack@suse.cz>, Chris Mason <chris.mason@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
tytso@mit.edu, david@fromorbit.com, hch@infradead.org,
yanmin_zhang@linux.intel.com, richard@rsk.demon.co.uk,
damien.wyart@free.fr
Subject: Re: [PATCH 0/11] Per-bdi writeback flusher threads v9
Date: Tue, 9 Jun 2009 20:39:57 +0200 [thread overview]
Message-ID: <20090609183954.GB6057@nowhere> (raw)
In-Reply-To: <20090608122834.GH11363@kernel.dk>
On Mon, Jun 08, 2009 at 02:28:34PM +0200, Jens Axboe wrote:
> On Mon, Jun 08 2009, Jan Kara wrote:
> > On Mon 08-06-09 11:23:38, Jens Axboe wrote:
> > > On Sat, Jun 06 2009, Frederic Weisbecker wrote:
> > > > On Sat, Jun 06, 2009 at 02:23:40AM +0200, Jan Kara wrote:
> > > > > On Fri 05-06-09 20:18:15, Chris Mason wrote:
> > > > > > On Fri, Jun 05, 2009 at 11:14:38PM +0200, Jan Kara wrote:
> > > > > > > On Fri 05-06-09 21:15:28, Jens Axboe wrote:
> > > > > > > > On Fri, Jun 05 2009, Frederic Weisbecker wrote:
> > > > > > > > > The result with noop is even more impressive.
> > > > > > > > >
> > > > > > > > > See: http://kernel.org/pub/linux/kernel/people/frederic/dbench-noop.pdf
> > > > > > > > >
> > > > > > > > > Also a comparison, noop with pdflush against noop with bdi writeback:
> > > > > > > > >
> > > > > > > > > http://kernel.org/pub/linux/kernel/people/frederic/dbench-noop-cmp.pdf
> > > > > > > >
> > > > > > > > OK, so things aren't exactly peachy here to begin with. It may not
> > > > > > > > actually BE an issue, or at least now a new one, but that doesn't mean
> > > > > > > > that we should not attempt to quantify the impact.
> > > > > > > What looks interesting is also the overall throughput. With pdflush we
> > > > > > > get to 2.5 MB/s + 26 MB/s while with per-bdi we get to 2.7 MB/s + 13 MB/s.
> > > > > > > So per-bdi seems to be *more* fair but throughput suffers a lot (which
> > > > > > > might be inevitable due to incurred seeks).
> > > > > > > Frederic, how much does dbench achieve for you just on one partition
> > > > > > > (test both consecutively if possible) with as many threads as have those
> > > > > > > two dbench instances together? Thanks.
> > > > > >
> > > > > > Is the graph showing us dbench tput or disk tput? I'm assuming it is
> > > > > > disk tput, so bdi may just be writing less?
> > > > > Good, question. I was assuming dbench throughput :).
> > > > >
> > > > > Honza
> > > >
> > > >
> > > > Yeah it's dbench. May be that's not the right tool to measure the writeback
> > > > layer, even though dbench results are necessarily influenced by the writeback
> > > > behaviour.
> > > >
> > > > May be I should use something else?
> > > >
> > > > Note that if you want I can put some surgicals trace_printk()
> > > > in fs/fs-writeback.c
> > >
> > > FWIW, I ran a similar test here just now. CFQ was used, two partitions
> > > on an (otherwise) idle drive. I used 30 clients per dbench and 600s
> > > runtime. Results are nearly identical, both throughout the run and
> > > total:
> > >
> > > /dev/sdb1
> > > Throughput 165.738 MB/sec 30 clients 30 procs max_latency=459.002 ms
> > >
> > > /dev/sdb2
> > > Throughput 165.773 MB/sec 30 clients 30 procs max_latency=607.198 ms
> > Hmm, interesting. 165 MB/sec (in fact 330 MB/sec for that drive) sounds
> > like quite a lot ;). This usually happens with dbench when the processes
> > manage to delete / redirty data before writeback thread gets to them (so
> > some IO happens in memory only and throughput is bound by the CPU / memory
> > speed). So I think you are on a different part of the performance curve
> > than Frederic. Probably you have to run with more threads so that dbench
> > threads get throttled because of total amount of dirty data generated...
>
> Certainly, the actual disk data rate was consistenctly in the
> 60-70MB/sec region. The issue is likely that the box has 6GB of RAM, if
> I boot with less than 30 clients will do.
>
> But unless the situation changes radically with memory pressure, it
> still shows a fair distribution of IO between the two. Since they have
> identical results throughout, it should be safe to assume that the have
> equal bandwidth distribution at the disk end. A fast dbench run is one
> that doesn't touch the disk at all, once you start touching disk you
> lose :-)
When I ran my tests, I only had 384 MB of memory, 100 threads and
only one CPU. So I was in a constant writeback, which should
be smoother with 6 GB of memory and 30 threads.
May be that's why you had a so well balanced result... Or may
be there is too much entropy in my testbox :)
> --
> Jens Axboe
>
next prev parent reply other threads:[~2009-06-09 18:40 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-28 11:46 [PATCH 0/11] Per-bdi writeback flusher threads v9 Jens Axboe
2009-05-28 11:46 ` [PATCH 01/11] ntfs: remove old debug check for dirty data in ntfs_put_super() Jens Axboe
2009-05-28 11:46 ` [PATCH 02/11] btrfs: properly register fs backing device Jens Axboe
2009-05-28 11:46 ` [PATCH 03/11] writeback: move dirty inodes from super_block to backing_dev_info Jens Axboe
2009-05-28 11:46 ` [PATCH 04/11] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-05-28 14:13 ` Artem Bityutskiy
2009-05-28 22:28 ` Jens Axboe
2009-05-28 11:46 ` [PATCH 05/11] writeback: get rid of pdflush completely Jens Axboe
2009-05-28 11:46 ` [PATCH 06/11] writeback: separate the flushing state/task from the bdi Jens Axboe
2009-05-28 11:46 ` [PATCH 07/11] writeback: support > 1 flusher thread per bdi Jens Axboe
2009-05-28 11:46 ` [PATCH 08/11] writeback: allow sleepy exit of default writeback task Jens Axboe
2009-05-28 11:46 ` [PATCH 09/11] writeback: add some debug inode list counters to bdi stats Jens Axboe
2009-05-28 11:46 ` [PATCH 10/11] writeback: add name to backing_dev_info Jens Axboe
2009-05-28 11:46 ` [PATCH 11/11] writeback: check for registered bdi in flusher add and inode dirty Jens Axboe
2009-05-28 13:56 ` [PATCH 0/11] Per-bdi writeback flusher threads v9 Peter Zijlstra
2009-05-28 22:28 ` Jens Axboe
2009-05-28 14:17 ` Artem Bityutskiy
2009-05-28 14:19 ` Artem Bityutskiy
2009-05-28 20:35 ` Peter Zijlstra
2009-05-28 22:27 ` Jens Axboe
2009-05-29 15:37 ` Artem Bityutskiy
2009-05-29 15:37 ` Artem Bityutskiy
2009-05-29 15:50 ` Jens Axboe
2009-05-29 16:02 ` Artem Bityutskiy
2009-05-29 16:02 ` Artem Bityutskiy
2009-05-29 17:07 ` Jens Axboe
2009-06-03 7:39 ` Artem Bityutskiy
2009-06-03 7:44 ` Jens Axboe
2009-06-03 7:46 ` Artem Bityutskiy
2009-06-03 7:46 ` Artem Bityutskiy
2009-06-03 7:50 ` Jens Axboe
2009-06-03 7:54 ` Artem Bityutskiy
2009-06-03 7:54 ` Artem Bityutskiy
2009-06-03 7:59 ` Artem Bityutskiy
2009-06-03 7:59 ` Artem Bityutskiy
2009-06-03 8:07 ` Jens Axboe
2009-05-28 14:41 ` Theodore Tso
2009-05-29 16:07 ` Artem Bityutskiy
2009-05-29 16:20 ` Artem Bityutskiy
2009-05-29 16:20 ` Artem Bityutskiy
2009-05-29 17:09 ` Jens Axboe
2009-06-03 8:11 ` Artem Bityutskiy
2009-06-03 8:11 ` Artem Bityutskiy
2009-05-29 17:08 ` Jens Axboe
2009-06-03 11:12 ` Artem Bityutskiy
2009-06-03 11:12 ` Artem Bityutskiy
2009-06-03 11:42 ` Jens Axboe
2009-06-04 15:20 ` Frederic Weisbecker
2009-06-04 19:07 ` Andrew Morton
2009-06-04 19:13 ` Frederic Weisbecker
2009-06-04 19:50 ` Jens Axboe
2009-06-04 20:10 ` Jens Axboe
2009-06-04 22:34 ` Frederic Weisbecker
2009-06-05 19:15 ` Jens Axboe
2009-06-05 21:14 ` Jan Kara
2009-06-06 0:18 ` Chris Mason
2009-06-06 0:23 ` Jan Kara
2009-06-06 0:23 ` Jan Kara
2009-06-06 1:06 ` Frederic Weisbecker
2009-06-08 9:23 ` Jens Axboe
2009-06-08 12:23 ` Jan Kara
2009-06-08 12:28 ` Jens Axboe
2009-06-08 13:01 ` Jan Kara
2009-06-09 18:39 ` Frederic Weisbecker [this message]
2009-06-06 1:00 ` Frederic Weisbecker
2009-06-06 0:35 ` Frederic Weisbecker
2009-06-04 21:37 ` Frederic Weisbecker
2009-06-05 1:14 ` Zhang, Yanmin
2009-06-05 1:14 ` Zhang, Yanmin
2009-06-05 19:16 ` Jens Axboe
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=20090609183954.GB6057@nowhere \
--to=fweisbec@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=damien.wyart@free.fr \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=richard@rsk.demon.co.uk \
--cc=tytso@mit.edu \
--cc=yanmin_zhang@linux.intel.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.