dm snapshot: implement merge
authorMikulas Patocka <mpatocka@redhat.com>
Thu, 12 Aug 2010 03:14:02 +0000 (04:14 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Thu, 12 Aug 2010 03:14:02 +0000 (04:14 +0100)
commitb1d5552838334c600b068c9c8cc18638e5a8cb47
tree789e435ab60e6956abffc15b4da85fe1e5b1714c
parent4a0b4ddf261fc89c050fe0a10ec57a61251d7ac0
dm snapshot: implement merge

Implement merge method for the snapshot origin to improve read
performance.

Without merge method, dm asks the upper layers to submit smallest possible
bios --- one page. Submitting such small bios impacts performance negatively
when reading or writing the origin device.

Without this patch, CPU consumption when reading the origin on lvm on md-raid0
was 6 to 12%, with this patch, it drops to 1 to 4%.

Note: in my testing, it actually degraded performance in some settings, I
traced it to Maxtor disks having problems with > 512-sector requests.
Reducing the number of sectors to /sys/block/sd*/queue/max_sectors_kb to
256 fixed the read performance. I think we don't have to care about weird
disks that actually degrade performance because of large requests being
sent to them.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-snap.c