/block/ |
H A D | blk-mq.h | 29 void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); 103 struct blk_mq_hw_ctx *hctx; member in struct:blk_mq_alloc_data 109 struct blk_mq_hw_ctx *hctx) 115 data->hctx = hctx; 106 blk_mq_set_alloc_data(struct blk_mq_alloc_data *data, struct request_queue *q, gfp_t gfp, bool reserved, struct blk_mq_ctx *ctx, struct blk_mq_hw_ctx *hctx) argument
|
H A D | blk-mq-tag.h | 52 extern void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag, unsigned int *last_tag); 72 static inline bool blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) argument 74 if (!(hctx->flags & BLK_MQ_F_TAG_SHARED)) 77 return __blk_mq_tag_busy(hctx); 80 static inline void blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx) argument 82 if (!(hctx->flags & BLK_MQ_F_TAG_SHARED)) 85 __blk_mq_tag_idle(hctx);
|
H A D | blk-flush.c | 342 struct blk_mq_hw_ctx *hctx; local 347 hctx = q->mq_ops->map_queue(q, ctx->cpu); 355 blk_mq_run_hw_queue(hctx, true);
|
H A D | blk.h | 36 struct blk_mq_hw_ctx *hctx; local 41 hctx = q->mq_ops->map_queue(q, ctx->cpu); 43 return hctx->fq;
|
H A D | blk-mq-sysfs.c | 82 struct blk_mq_hw_ctx *hctx; local 87 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); 88 q = hctx->queue; 96 res = entry->show(hctx, page); 106 struct blk_mq_hw_ctx *hctx; local 111 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); 112 q = hctx->queue; 120 res = entry->store(hctx, page, length); 166 static ssize_t blk_mq_hw_sysfs_queued_show(struct blk_mq_hw_ctx *hctx, argument 169 return sprintf(page, "%lu\n", hctx 172 blk_mq_hw_sysfs_run_show(struct blk_mq_hw_ctx *hctx, char *page) argument 177 blk_mq_hw_sysfs_dispatched_show(struct blk_mq_hw_ctx *hctx, char *page) argument 194 blk_mq_hw_sysfs_rq_list_show(struct blk_mq_hw_ctx *hctx, char *page) argument 206 blk_mq_hw_sysfs_tags_show(struct blk_mq_hw_ctx *hctx, char *page) argument 211 blk_mq_hw_sysfs_active_show(struct blk_mq_hw_ctx *hctx, char *page) argument 216 blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page) argument 330 blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) argument 344 blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) argument 369 struct blk_mq_hw_ctx *hctx; local 391 struct blk_mq_hw_ctx *hctx; local 415 struct blk_mq_hw_ctx *hctx; local 443 struct blk_mq_hw_ctx *hctx; local 452 struct blk_mq_hw_ctx *hctx; local [all...] |
H A D | blk-mq-tag.c | 61 bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) argument 63 if (!test_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state) && 64 !test_and_set_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) 65 atomic_inc(&hctx->tags->active_queues); 94 void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx) argument 96 struct blk_mq_tags *tags = hctx->tags; 98 if (!test_and_clear_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) 110 static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx, argument 115 if (!hctx || !(hctx 175 __bt_get(struct blk_mq_hw_ctx *hctx, struct blk_mq_bitmap_tags *bt, unsigned int *tag_cache) argument 218 bt_wait_ptr(struct blk_mq_bitmap_tags *bt, struct blk_mq_hw_ctx *hctx) argument 233 bt_get(struct blk_mq_alloc_data *data, struct blk_mq_bitmap_tags *bt, struct blk_mq_hw_ctx *hctx, unsigned int *last_tag) argument 378 blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag, unsigned int *last_tag) argument 392 bt_for_each(struct blk_mq_hw_ctx *hctx, struct blk_mq_bitmap_tags *bt, unsigned int off, busy_iter_fn *fn, void *data, bool reserved) argument 414 blk_mq_tag_busy_iter(struct blk_mq_hw_ctx *hctx, busy_iter_fn *fn, void *priv) argument [all...] |
H A D | blk-core.c | 248 struct blk_mq_hw_ctx *hctx; local 251 queue_for_each_hw_ctx(q, hctx, i) { 252 cancel_delayed_work_sync(&hctx->run_work); 253 cancel_delayed_work_sync(&hctx->delay_work);
|
H A D | blk-mq.c | 35 static void __blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx); 40 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx) argument 44 for (i = 0; i < hctx->ctx_map.map_size; i++) 45 if (hctx->ctx_map.map[i].word) 51 static inline struct blk_align_bitmap *get_bm(struct blk_mq_hw_ctx *hctx, argument 54 return &hctx->ctx_map.map[ctx->index_hw / hctx->ctx_map.bits_per_word]; 57 #define CTX_TO_BIT(hctx, ctx) \ 58 ((ctx)->index_hw & ((hctx)->ctx_map.bits_per_word - 1)) 63 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx, argument 72 blk_mq_hctx_clear_pending(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx) argument 153 blk_mq_can_queue(struct blk_mq_hw_ctx *hctx) argument 234 struct blk_mq_hw_ctx *hctx; local 267 __blk_mq_free_request(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx, struct request *rq) argument 285 struct blk_mq_hw_ctx *hctx; local 562 blk_mq_check_expired(struct blk_mq_hw_ctx *hctx, struct request *rq, void *priv, bool reserved) argument 586 struct blk_mq_hw_ctx *hctx; local 652 flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list) argument 688 __blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx) argument 771 blk_mq_hctx_next_cpu(struct blk_mq_hw_ctx *hctx) argument 789 blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async) argument 808 struct blk_mq_hw_ctx *hctx; local 824 blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx) argument 834 struct blk_mq_hw_ctx *hctx; local 842 blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx) argument 854 struct blk_mq_hw_ctx *hctx; local 865 struct blk_mq_hw_ctx *hctx; local 882 struct blk_mq_hw_ctx *hctx; local 891 struct blk_mq_hw_ctx *hctx; local 899 blk_mq_delay_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs) argument 914 __blk_mq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, bool at_head) argument 933 struct blk_mq_hw_ctx *hctx; local 959 struct blk_mq_hw_ctx *hctx; local 1054 hctx_allow_merges(struct blk_mq_hw_ctx *hctx) argument 1060 blk_mq_merge_queue_io(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx, struct request *rq, struct bio *bio) argument 1087 struct blk_mq_hw_ctx *hctx; member in struct:blk_map_ctx 1095 struct blk_mq_hw_ctx *hctx; local 1434 blk_mq_hctx_cpu_offline(struct blk_mq_hw_ctx *hctx, int cpu) argument 1476 blk_mq_hctx_cpu_online(struct blk_mq_hw_ctx *hctx, int cpu) argument 1495 struct blk_mq_hw_ctx *hctx = data; local 1505 blk_mq_exit_hctx(struct request_queue *q, struct blk_mq_tag_set *set, struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) argument 1530 struct blk_mq_hw_ctx *hctx; local 1543 struct blk_mq_hw_ctx *hctx; local 1552 blk_mq_init_hctx(struct request_queue *q, struct blk_mq_tag_set *set, struct blk_mq_hw_ctx *hctx, unsigned hctx_idx) argument 1626 struct blk_mq_hw_ctx *hctx; local 1655 struct blk_mq_hw_ctx *hctx; local 1683 struct blk_mq_hw_ctx *hctx; local 1731 struct blk_mq_hw_ctx *hctx; local 2105 struct blk_mq_hw_ctx *hctx; local [all...] |