summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2022-06-23 09:48:33 +0200
committerJens Axboe <axboe@kernel.dk>2022-06-27 06:29:12 -0600
commit9c6227e04355a430aa59709bbf869d9126112d0d (patch)
tree4234be3cf232828ed00ea23efb00c788010c0137
parent82b74cac28493fb40ea74fb2fe648b5fc7ea0c1c (diff)
downloadlinux-9c6227e04355a430aa59709bbf869d9126112d0d.tar.bz2
block: Initialize bio priority earlier
Bio's IO priority needs to be initialized before we try to merge the bio with other bios. Otherwise we could merge bios which would otherwise receive different IO priorities leading to possible QoS issues. Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20220623074840.5960-8-jack@suse.cz Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--block/blk-mq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 4c4944b6f520..c0ec1938feee 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2814,6 +2814,8 @@ void blk_mq_submit_bio(struct bio *bio)
if (!bio_integrity_prep(bio))
return;
+ bio_set_ioprio(bio);
+
rq = blk_mq_get_cached_request(q, plug, &bio, nr_segs);
if (!rq) {
if (!bio)
@@ -2825,8 +2827,6 @@ void blk_mq_submit_bio(struct bio *bio)
trace_block_getrq(bio);
- bio_set_ioprio(bio);
-
rq_qos_track(q, rq, bio);
blk_mq_bio_to_request(rq, bio, nr_segs);