Re: md device io request split

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Nov 2011 14:22:16 +0100 "Ramon Schönborn" <RSchoenborn@xxxxxxx>
wrote:

>  
> > RAID1 will only limit requests to 4K if the device beneath it is
> > non-contiguous - e.g. a striped array or LVM arrangement were consecutive
> > blocks might be on different devices.
> 
> how does it know if a device is non-contiguous? Is there a way to have a dm device "marked" like that or force md to use bigger requests?
> Lets assume a host with about 20 raid1 devices consisting of dm-devices with the mentioned overhead - do you think that not splitting the requests could lead to a noticeable performance improvement?
> 
> Thanx for your help,
> Ramon Schönborn

If the device provide a "merge_bvec_fn", then it is assumed to not be
contiguous.
dm always sets this on its devices.

I really have no idea what sort of overhead this creates.  You would need to
test it.
I assume you are using dm simply as a partitioning tool with a single linear
mapping per device.
If this is the case it should be safe for testing to remove the line

	blk_queue_merge_bvec(md->queue, dm_merge_bvec);

from drivers/md/dm.c and see how that change performance.  If you have any dm
targets more simple than a single linear mapping with will almost certainly
cause IO failure at some point so this should only be used for testing.

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux