Re: O_DIRECT to md raid 6 is slow
From: Stan Hoeppner <hidden>
Date: 2012-08-22 04:00:30
Also in:
lkml
On 8/21/2012 9:51 AM, Miquel van Smoorenburg wrote:
On 08/20/2012 01:34 AM, Stan Hoeppner wrote:quoted
I'm glad you jumped in David. You made a critical statement of fact below which clears some things up. If you had stated it early on, before Miquel stole the thread and moved it to LKML proper, it would have short circuited a lot of this discussion. Which is:I'm sorry about that, that's because of the software that I use to follow most mailinglist. I didn't notice that the discussion was cc'ed to both lkml and l-r. I should fix that.
Oh, my bad. I thought it was intentional. Don't feel too bad about it. When I tried to copy lkml back in on the one message I screwed up as well. I though Tbird had filled in the full address but it didn't.
quoted
Thus my original statement was correct, or at least half correct[1], as it pertained to md/RAID6. Then Miquel switched the discussion to md/RAID5 and stated I was all wet. I wasn't, and neither was Dave Chinner. I was simply unaware of this md/RAID5 single block write RMW shortcutWell, all I tried to say is that a small write of, say, 4K, to a raid5/raid6 array does not need to re-write the whole stripe (i.e. chunksize * nr_disks) but just 4K * nr_disks, or the RMW variant of that.
And I'm glad you did. Before that I didn't know about these efficiency shortcuts and exactly how md does writeback on partial stripe updates. Even with these optimizations, a default 512KB chunk is too big, for the reasons I stated, the big one being the fact that you'll rarely fill a full stripe, meaning nearly every write will incur an RMW cycle. -- Stan