cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <dchinner@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] (no subject)
Date: Fri,  5 Feb 2010 16:45:23 +1100	[thread overview]
Message-ID: <1265348727-19347-1-git-send-email-dchinner@redhat.com> (raw)

These patches improve sequential write IO patterns and reduce ordered
write log contention.

The first patch is simply for diagnosis purposes - it enabled me to
see where Io was being dispatched from, and led directly to he fix
in the second patch. The third patch removes the use of WRITE_SYNC_PLUG for
async writes (data, metadata and log), and the third moves the AIL pushing out
from under the log lock so that incoming writes can still proceed while
the log is being flushed.

The difference is on a local disk that XFS can do 85MB/s sequential
write, gfs2 can do:
                        cfq     noop
        vanilla         38MB/s  48MB/s
        +2              48MB/s  65MB/s
        +3              48MB/s  65MB/s
        +4              51MB/s  75MB/s

The improvement is due to the IO patterns resulting in the disk being IO bound,
and the subsequent improvements in IO patterns directly translate into more
throughput

On a faster 4-disk dm stripe array on the same machine that XFS can do 265MB/s
(@ 550iop/s) sequential write, gfs2 can do:

				cfq			 noop
        vanilla         135MB/s @ 400iop/s	130MB/s @ 800iop/s
        +4              135MB/s @ 400iop/s	130MB/s @ 500iop/s

No improvement or degradation in throughput is seen here as the disks never get
to being IO bound - the write is cpu bound. However, there is an improvement in
iops seen on no-op scheduler as a result of the improvement in IO dispatch
patterns.

The patches have not seen much testing, so this is really just a posting
for comments/feedback at this point.



             reply	other threads:[~2010-02-05  5:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-05  5:45 Dave Chinner [this message]
2010-02-05  5:45 ` [Cluster-devel] [PATCH 1/4] gfs2: add IO submission trace points Dave Chinner
2010-02-05  9:49   ` Steven Whitehouse
2010-02-05  9:48     ` Christoph Hellwig
2010-02-05  5:45 ` [Cluster-devel] [PATCH 2/4] gfs2: ordered writes are backwards Dave Chinner
2010-02-05 10:02   ` Steven Whitehouse
2010-02-05 10:34     ` Dave Chinner
2010-02-05  5:45 ` [Cluster-devel] [PATCH 3/4] gfs2: ordered buffer writes are not sync Dave Chinner
2010-02-05 10:58   ` Steven Whitehouse
2010-02-05  5:45 ` [Cluster-devel] [PATCH 4/4] gfs2: introduce AIL lock Dave Chinner
2010-02-05 11:11   ` Steven Whitehouse
2010-02-06  2:34     ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2015-10-13 10:07 [Cluster-devel] (no subject) eric
2017-10-09  9:12 Andreas Gruenbacher

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=1265348727-19347-1-git-send-email-dchinner@redhat.com \
    --to=dchinner@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).