]> git.proxmox.com Git - mirror_ubuntu-zesty-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)
committerTim Gardner <tim.gardner@canonical.com>
Mon, 20 Feb 2017 03:57:58 +0000 (20:57 -0700)
commit21c01314a8ca77211f5422ed87d88eb310f1c4b9
tree5c7ca72f632f788be90c665f0ea811879df20099
parentaf80b83a2b6184fea27f050948146fcd9a28070d
block: relax check on sg gap

BugLink: http://bugs.launchpad.net/bugs/1657539
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>
(cherry picked from linux-next commit 729204ef49ec00b788ce23deb9eb922a5769f55d)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
include/linux/blkdev.h