Remove BIO_RW_SYNCIO flag from kcopyd This improves write throughput twice when writing to the origin with snapshot on the same device. I don't know the exact reason, BIO_RW_SYNCIO is not documented and its effects on queueing are not obvious from the code. There seem to be two sets of limits, one for sync and the other for async requests. Signed-off-by: Mikulas Patocka --- drivers/md/dm-kcopyd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.34-fast/drivers/md/dm-kcopyd.c =================================================================== --- linux-2.6.34-fast.orig/drivers/md/dm-kcopyd.c 2010-07-21 17:57:35.000000000 +0200 +++ linux-2.6.34-fast/drivers/md/dm-kcopyd.c 2010-07-22 15:24:02.000000000 +0200 @@ -345,7 +345,7 @@ static int run_io_job(struct kcopyd_job { int r; struct dm_io_request io_req = { - .bi_rw = job->rw | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG), + .bi_rw = job->rw | (1 << BIO_RW_UNPLUG), .mem.type = DM_IO_PAGE_LIST, .mem.ptr.pl = job->pages, .mem.offset = job->offset,