Ming Lei 2705c93742 block: kill QUEUE_FLAG_NO_SG_MERGE
Since bdced438acd83ad83a6c ("block: setup bi_phys_segments after splitting"),
physical segment number is mainly figured out in blk_queue_split() for
fast path, and the flag of BIO_SEG_VALID is set there too.

Now only blk_recount_segments() and blk_recalc_rq_segments() use this
flag.

Basically blk_recount_segments() is bypassed in fast path given BIO_SEG_VALID
is set in blk_queue_split().

For another user of blk_recalc_rq_segments():

- run in partial completion branch of blk_update_request, which is an unusual case

- run in blk_cloned_rq_check_limits(), still not a big problem if the flag is killed
since dm-rq is the only user.

Multi-page bvec is enabled now, not doing S/G merging is rather pointless with the
current setup of the I/O path, as it isn't going to save you a significant amount
of cycles.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
..
2019-02-15 08:40:12 -07:00
2018-11-07 13:42:32 -07:00
2018-11-16 08:34:06 -07:00
2019-02-15 08:40:12 -07:00
2019-02-15 08:40:12 -07:00
2018-12-16 19:53:47 -07:00
2019-02-09 15:40:24 -07:00
2018-11-15 12:13:25 -07:00
2018-12-28 13:19:59 -08:00
2018-12-21 08:47:58 -07:00
2018-10-25 11:17:40 -06:00
2018-05-31 10:50:54 -04:00
2018-12-29 13:03:29 -08:00
2018-11-07 13:42:32 -07:00