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