On 04/23/2010 04:26 PM, Michael Tokarev wrote:
This is most likely due to read-modify-write cycle which is present on
lvm-on-raid[456] if the number of data drives is not a power of two.
LVM requires the block size to be a power of two, so if you can't fit
some number of LVM blocks on whole raid stripe size your write speed
is expected to be ~3 times worse...
Even creating partitions on such raid array is difficult.
Seriously?
a number of data drives power of 2 would be an immense limitation.
Why should that be? I understand that LVM blocks would not be aligned to
raid stripes, and this can worsen the problem for random writes, but if
the write is sequential, the raid stripe will still be filled at the
next block-output by LVM.
Maybe the very first stripe you write will get an RMW but the next ones
will be filled in the wait, and also consider you have the
preread_bypass_threshold feature by MD which helps in this.
Also if you really need to put an integer number of LVM blocks in an MD
stripe (which I doubt, as I wrote above), this still does not mean that
the number of drives needs to be a power of 2: e.g. you could put 10 LVM
blocks in 5 data disks, couldn't you?
I would think more to a barriers thing... I'd try to repeat the test
with nobarrier upon ext4 mount and see.
But Bill says that he "knows" what's the problem so maybe he will tell
us earlier or later :-)
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html