Messages in this thread | | | Date | Tue, 21 Aug 2012 22:59:59 -0500 | From | Stan Hoeppner <> | Subject | Re: O_DIRECT to md raid 6 is slow |
| |
On 8/21/2012 9:51 AM, Miquel van Smoorenburg wrote: > On 08/20/2012 01:34 AM, Stan Hoeppner wrote: >> 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.
>> 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 >> shortcut > > Well, 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
| |