]> git.baikalelectronics.ru Git - kernel.git/commit
block: relax check on sg gap
authorMing Lei <ming.lei@canonical.com>
Sat, 17 Dec 2016 10:49:09 +0000 (18:49 +0800)
committerJens Axboe <axboe@fb.com>
Thu, 12 Jan 2017 03:47:08 +0000 (20:47 -0700)
commitf89ad022b21a864e75f11a7f135d9f252c28b1a1
treeab5cc3c0aa17fa8b988ed7dfefe888000fac0be3
parent14c760565b186847afd07b1717cd4b4c0aae68cb
block: relax check on sg gap

If the last bvec of the 1st bio and the 1st bvec of the next
bio are physically contigious, and the latter can be merged
to last segment of the 1st bio, we should think they don't
violate sg gap(or virt boundary) limit.

Both Vitaly and Dexuan reported lots of unmergeable small bios
are observed when running mkfs on Hyper-V virtual storage, and
performance becomes quite low. This patch fixes that performance
issue.

The same issue should exist on NVMe, since it sets virt boundary too.

Reported-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reported-by: Dexuan Cui <decui@microsoft.com>
Tested-by: Dexuan Cui <decui@microsoft.com>
Cc: Keith Busch <keith.busch@intel.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
include/linux/blkdev.h