From: Ming Lei Date: Tue, 2 Nov 2021 13:35:00 +0000 (+0800) Subject: blk-mq: only try to run plug merge if request has same queue with incoming bio X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a1cb65377e707500819b2c2c34064e5ceb32798b;p=linux.git blk-mq: only try to run plug merge if request has same queue with incoming bio It is obvious that io merge can't be done between two different queues, so just try to run io merge in case of same queue. Signed-off-by: Ming Lei Link: https://lore.kernel.org/r/20211102133502.3619184-2-ming.lei@redhat.com Signed-off-by: Jens Axboe --- diff --git a/block/blk-merge.c b/block/blk-merge.c index df69f4bb77172..893c1a60b701f 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -1101,9 +1101,11 @@ bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio, * the same queue, there should be only one such rq in a queue */ *same_queue_rq = true; + + if (blk_attempt_bio_merge(q, rq, bio, nr_segs, false) == + BIO_MERGE_OK) + return true; } - if (blk_attempt_bio_merge(q, rq, bio, nr_segs, false) == BIO_MERGE_OK) - return true; return false; }