From: "John Stoffel" <john@stoffel.org>
To: Markus Stockhausen <stockhausen@collogia.de>
Cc: John Stoffel <john@stoffel.org>,
"linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>
Subject: Re: AW: [PATCH v3 5/6] md/raid5: activate raid6 rmw feature
Date: Sun, 24 Aug 2014 23:06:15 -0400 [thread overview]
Message-ID: <21498.43047.496600.531307@quad.stoffel.home> (raw)
In-Reply-To: <12EF8D94C6F8734FB2FF37B9FBEDD1735863FC91@EXCHANGE.collogia.de>
>>>>> "Markus" == Markus Stockhausen <stockhausen@collogia.de> writes:
>> Von: John Stoffel [john@stoffel.org]
>> Gesendet: Sonntag, 24. August 2014 14:46
>> An: Markus Stockhausen
>> Cc: linux-raid@vger.kernel.org
>> Betreff: Re: [PATCH v3 5/6] md/raid5: activate raid6 rmw feature
>> ...
>> Also, how does the patch look when you have a simple 4 disk RAID6 array?
>> I would hope that since the parity overhead is much higher, it would show
>> more improvement as well.
Markus> Maybe I did not explain exactly what this patch is for. To boil it down to four
Markus> short and simple key facts.
Markus> - The current kernel implementation of RAID6 is very I/O expensive for small
Markus> changes. We always need to read all unchanged blocks of the same stripe,
Markus> recalulate the parity and write the new data block plus two parities. So a single
Markus> block change will produce n (number of disks) I/Os. The source code calls it
Markus> RCU - reconstruct write.
Markus> - With the patch we will only read the old data of the to be changed block & the
Markus> parities, recalculate the parities with the new data and rewrite everthing back. A
Markus> single block change will only have 6 I/Os regardless of the number of disks. It
Markus> is called RMW - read modify write.
Markus> - This patch will only kick in if you have 7 or more disks in a RAID6. And ONLY
Markus> if I/Os RMW < I/Os RCU. This should answer your question above.
Markus> - The more disks we have and the smaller the changed data is the more benefit
Markus> we will get from that patch.
This is a great summary of why this change could/should be in MD. I
really think this should be part of the commit and/or docs. Also,
showing that the results are an improvement in terms of IOPS would be
awesome. So have you run something like that postmark test, which
writes lots of small files into a filesystem and seen how that works
with your patchset?
I don't doubt that there's an improvement, I'm just wondering if it's
enough. You just haven't justified it properly to me (though I'm not
important, Neil is the decider here...) and I do appreciate your
responses, since they have clarified things quite alot.
John
prev parent reply other threads:[~2014-08-25 3:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-24 8:12 [PATCH v3 5/6] md/raid5: activate raid6 rmw feature Markus Stockhausen
2014-08-24 12:46 ` John Stoffel
2014-08-24 17:22 ` AW: " Markus Stockhausen
2014-08-25 3:06 ` John Stoffel [this message]
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=21498.43047.496600.531307@quad.stoffel.home \
--to=john@stoffel.org \
--cc=linux-raid@vger.kernel.org \
--cc=stockhausen@collogia.de \
/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