block: respect virtual boundary mask in bvecs
authorJohannes Thumshirn <jthumshirn@suse.de>
Wed, 7 Nov 2018 13:58:14 +0000 (14:58 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 Nov 2018 20:04:22 +0000 (13:04 -0700)
commitdf376b2ed51a2777c3398e038992f62523c0f932
tree18169f272490df584b3b9ed7ebe6736368c69f19
parent9fe5c59ff6a1e5e26a39b75489a1420e7eaaf0b1
block: respect virtual boundary mask in bvecs

With drivers that are settting a virtual boundary constrain, we are
seeing a lot of bio splitting and smaller I/Os being submitted to the
driver.

This happens because the bio gap detection code does not account cases
where PAGE_SIZE - 1 is bigger than queue_virt_boundary() and thus will
split the bio unnecessarily.

Cc: Jan Kara <jack@suse.cz>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-merge.c
block/blk.h