[PATCH 6.12.y 1/3] block: Reorder the request allocation code in blk_mq_submit_bio()
Simon Liebold <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
From: Bart Van Assche <[email protected]> [ Upstream commit 44e41381591dc5b4ea67a9f170b4ec85c817586e ] Help the CPU branch predictor in case of a cache hit by handling the cache hit scenario first. Reviewed-by: Damien Le Moal <[email protected]> Cc: Christoph Hellwig <[email protected]> Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Chaitanya Kulkarni <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]> Stable-dep-of: dc278e9bf2b9 ("blk-mq: pop cached request if it is usable") Signed-off-by: Simon Liebold <[email protected]> --- block/blk-mq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 5bfaa8e4b9cf6..c1dff0d9f9439 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -3121,12 +3121,12 @@ void blk_mq_submit_bio(struct bio *bio) } new_request: - if (!rq) { + if (rq) { + blk_mq_use_cached_rq(rq, plug, bio); + } else { rq = blk_mq_get_new_requests(q, plug, bio, nr_segs); if (unlikely(!rq)) goto queue_exit; - } else { - blk_mq_use_cached_rq(rq, plug, bio); } trace_block_getrq(bio); base-commit: 25c09b42358e73e1476e517b296edb6344f2e4bd -- 2.50.1