Linux RAID subsystem development
 help / color / mirror / Atom feed
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

      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