Add one helper function getting hw queue mapping to specific CPU, and of specific type. Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> --- block/blk-mq.c | 10 ++++++++++ include/linux/blk-mq.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index 6ef9f0b038c2..72390f208c82 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -3902,6 +3902,16 @@ unsigned int blk_mq_rq_cpu(struct request *rq) } EXPORT_SYMBOL(blk_mq_rq_cpu); + +struct blk_mq_hw_ctx *blk_mq_get_hctx(struct request_queue *q, int cpu, + unsigned int flags) +{ + struct blk_mq_ctx *ctx = __blk_mq_get_ctx(q, cpu); + + return blk_mq_map_queue(q, flags, ctx); +} +EXPORT_SYMBOL(blk_mq_get_hctx); + static int __init blk_mq_init(void) { int i; diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index d22269b3dbe9..149f6a9d9aa7 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -638,5 +638,7 @@ blk_qc_t blk_mq_submit_bio(struct bio *bio); int blk_mq_poll(struct request_queue *q, blk_qc_t cookie, bool spin); void blk_mq_hctx_set_fq_lock_class(struct blk_mq_hw_ctx *hctx, struct lock_class_key *key); +struct blk_mq_hw_ctx *blk_mq_get_hctx(struct request_queue *q, int cpu, + unsigned int flags); #endif -- 2.27.0