Lines Matching refs:hctx
38 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list);
40 struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx,
59 void __blk_mq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
62 void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx,
67 void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
89 extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx);
132 struct blk_mq_hw_ctx *hctx; member
138 return data->hctx->sched_tags; in blk_mq_tags_from_data()
140 return data->hctx->tags; in blk_mq_tags_from_data()
143 static inline bool blk_mq_hctx_stopped(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_stopped() argument
145 return test_bit(BLK_MQ_S_STOPPED, &hctx->state); in blk_mq_hctx_stopped()
148 static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx) in blk_mq_hw_queue_mapped() argument
150 return hctx->nr_ctx && hctx->tags; in blk_mq_hw_queue_mapped()
158 static inline void blk_mq_put_dispatch_budget(struct blk_mq_hw_ctx *hctx) in blk_mq_put_dispatch_budget() argument
160 struct request_queue *q = hctx->queue; in blk_mq_put_dispatch_budget()
163 q->mq_ops->put_budget(hctx); in blk_mq_put_dispatch_budget()
166 static inline bool blk_mq_get_dispatch_budget(struct blk_mq_hw_ctx *hctx) in blk_mq_get_dispatch_budget() argument
168 struct request_queue *q = hctx->queue; in blk_mq_get_dispatch_budget()
171 return q->mq_ops->get_budget(hctx); in blk_mq_get_dispatch_budget()
175 static inline void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx, in __blk_mq_put_driver_tag() argument
178 blk_mq_put_tag(hctx, hctx->tags, rq->mq_ctx, rq->tag); in __blk_mq_put_driver_tag()
183 atomic_dec(&hctx->nr_active); in __blk_mq_put_driver_tag()
187 static inline void blk_mq_put_driver_tag_hctx(struct blk_mq_hw_ctx *hctx, in blk_mq_put_driver_tag_hctx() argument
193 __blk_mq_put_driver_tag(hctx, rq); in blk_mq_put_driver_tag_hctx()
198 struct blk_mq_hw_ctx *hctx; in blk_mq_put_driver_tag() local
203 hctx = blk_mq_map_queue(rq->q, rq->mq_ctx->cpu); in blk_mq_put_driver_tag()
204 __blk_mq_put_driver_tag(hctx, rq); in blk_mq_put_driver_tag()