From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Ingo J?rgensmann <ij@2012.bluespice.org>,
xfs@oss.sgi.com, linux-raid@vger.kernel.org
Subject: Re: mkfs.xfs states log stripe unit is too large
Date: Tue, 26 Jun 2012 04:02:17 -0400 [thread overview]
Message-ID: <20120626080217.GA30767@infradead.org> (raw)
In-Reply-To: <20120626023059.GC19223@dastard>
On Tue, Jun 26, 2012 at 12:30:59PM +1000, Dave Chinner wrote:
> You can't, simple as that. The maximum supported is 256k. As it is,
> a default chunk size of 512k is probably harmful to most workloads -
> large chunk sizes mean that just about every write will trigger a
> RMW cycle in the RAID because it is pretty much impossible to issue
> full stripe writes. Writeback doesn't do any alignment of IO (the
> generic page cache writeback path is the problem here), so we will
> lamost always be doing unaligned IO to the RAID, and there will be
> little opportunity for sequential IOs to merge and form full stripe
> writes (24 disks @ 512k each on RAID6 is a 11MB full stripe write).
>
> IOWs, every time you do a small isolated write, the MD RAID volume
> will do a RMW cycle, reading 11MB and writing 12MB of data to disk.
> Given that most workloads are not doing lots and lots of large
> sequential writes this is, IMO, a pretty bad default given typical
> RAID5/6 volume configurations we see....
Not too long ago I benchmarked out mdraid stripe sizes, and at least
for XFS 32kb was a clear winner, anything larger decreased performance.
ext4 didn't get hit that badly with larger stripe sizes, probably
because they still internally bump the writeback size like crazy, but
they did not actually get faster with larger stripes either.
This was streaming data heavy workloads, anything more metadata heavy
probably will suffer from larger stripes even more.
Ccing the linux-raid list if there actually is any reason for these
defaults, something I wanted to ask for a long time but never really got
back to.
Also I'm pretty sure back then the md default was 256kb writes, not 512
so it seems the defaults further increased.
next parent reply other threads:[~2012-06-26 8:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <D3F781FA-CEB0-4896-9441-772A9E533354@2012.bluespice.org>
[not found] ` <20120623234445.GZ19223@dastard>
[not found] ` <4FE67970.2030008@sandeen.net>
[not found] ` <4FE710B7.5010704@hardwarefreak.com>
[not found] ` <d71834a062ffd666ab53a4695eb643e9@muaddib.hro.localnet>
[not found] ` <20120626023059.GC19223@dastard>
2012-06-26 8:02 ` Christoph Hellwig [this message]
2012-07-02 6:18 ` mkfs.xfs states log stripe unit is too large Christoph Hellwig
2012-07-02 6:41 ` NeilBrown
2012-07-02 8:08 ` Dave Chinner
2012-07-09 12:02 ` kedacomkernel
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=20120626080217.GA30767@infradead.org \
--to=hch@infradead.org \
--cc=david@fromorbit.com \
--cc=ij@2012.bluespice.org \
--cc=linux-raid@vger.kernel.org \
--cc=xfs@oss.sgi.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).