summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-tag.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-10-29 13:11:38 -0600
committerJens Axboe <axboe@kernel.dk>2018-11-07 13:44:59 -0700
commitf9afca4d367b8c915f28d29fcaba7460640403ff (patch)
tree452e46a75ae18332d1d795b32554943de47db4c2 /block/blk-mq-tag.c
parentff2c56609d9b1f0739ae3a3bfdb78191d01e4192 (diff)
downloadlinux-stable-f9afca4d367b8c915f28d29fcaba7460640403ff.tar.gz
linux-stable-f9afca4d367b8c915f28d29fcaba7460640403ff.tar.bz2
linux-stable-f9afca4d367b8c915f28d29fcaba7460640403ff.zip
blk-mq: pass in request/bio flags to queue mapping
Prep patch for being able to place request based not just on CPU location, but also on the type of request. Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq-tag.c')
-rw-r--r--block/blk-mq-tag.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
index 4254e74c1446..478a959357f5 100644
--- a/block/blk-mq-tag.c
+++ b/block/blk-mq-tag.c
@@ -168,7 +168,8 @@ unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data)
io_schedule();
data->ctx = blk_mq_get_ctx(data->q);
- data->hctx = blk_mq_map_queue(data->q, data->ctx->cpu);
+ data->hctx = blk_mq_map_queue(data->q, data->cmd_flags,
+ data->ctx->cpu);
tags = blk_mq_tags_from_data(data);
if (data->flags & BLK_MQ_REQ_RESERVED)
bt = &tags->breserved_tags;
@@ -530,7 +531,7 @@ u32 blk_mq_unique_tag(struct request *rq)
struct blk_mq_hw_ctx *hctx;
int hwq = 0;
- hctx = blk_mq_map_queue(q, rq->mq_ctx->cpu);
+ hctx = blk_mq_map_queue(q, rq->cmd_flags, rq->mq_ctx->cpu);
hwq = hctx->queue_num;
return (hwq << BLK_MQ_UNIQUE_TAG_BITS) |