Comment 11 for bug 361733

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 361733] Re: dmraid(fakeRAID) raid1 driver doesn't loadbalance reads

Thanks. Just followed my nose ;).

So this implementation handles two sequential IO operations happening
at once as-well or better than the md implementation - the md
implementation tracks sequential IO at the array level and at the
result-of-an-IO level, but due to tagged IOs the latter can be
incorrect and the former fails if two different processes are both
doing sequential reads. The implementation I've put together will
either end up sticking on one disk for the IO's if both are closer
together, or will no sequential IO on both disks if the starting
position of each is closer to the relevant sectors.

tl;dr - both implementations still have tradeoffs.

merging of IO's happens separately; I think dm has space for a merge
routine in the layer, and we probably would benefit from that -
merging IO's sent to the raid1 driver would let us get bigger IO's we
can sensibly dispatch round-robin style - basically have both disks
reading and head moving roughly in sync.

I don't know if I'll get time to fiddle with that,but who knows ;)

-Rob