Lines Matching refs:data
78 static int __blk_mq_get_tag(struct blk_mq_alloc_data *data, in __blk_mq_get_tag() argument
81 if (!data->q->elevator && !(data->flags & BLK_MQ_REQ_RESERVED) && in __blk_mq_get_tag()
82 !hctx_may_queue(data->hctx, bt)) in __blk_mq_get_tag()
85 if (data->shallow_depth) in __blk_mq_get_tag()
86 return __sbitmap_queue_get_shallow(bt, data->shallow_depth); in __blk_mq_get_tag()
91 unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data) in blk_mq_get_tag() argument
93 struct blk_mq_tags *tags = blk_mq_tags_from_data(data); in blk_mq_get_tag()
100 if (data->flags & BLK_MQ_REQ_RESERVED) { in blk_mq_get_tag()
112 tag = __blk_mq_get_tag(data, bt); in blk_mq_get_tag()
116 if (data->flags & BLK_MQ_REQ_NOWAIT) in blk_mq_get_tag()
119 ws = bt_wait_ptr(bt, data->hctx); in blk_mq_get_tag()
128 blk_mq_run_hw_queue(data->hctx, false); in blk_mq_get_tag()
134 tag = __blk_mq_get_tag(data, bt); in blk_mq_get_tag()
140 tag = __blk_mq_get_tag(data, bt); in blk_mq_get_tag()
149 data->ctx = blk_mq_get_ctx(data->q); in blk_mq_get_tag()
150 data->hctx = blk_mq_map_queue(data->q, data->cmd_flags, in blk_mq_get_tag()
151 data->ctx); in blk_mq_get_tag()
152 tags = blk_mq_tags_from_data(data); in blk_mq_get_tag()
153 if (data->flags & BLK_MQ_REQ_RESERVED) in blk_mq_get_tag()
166 ws = bt_wait_ptr(bt, data->hctx); in blk_mq_get_tag()
176 if (unlikely(test_bit(BLK_MQ_S_INACTIVE, &data->hctx->state))) { in blk_mq_get_tag()
177 blk_mq_put_tag(tags, data->ctx, tag + tag_offset); in blk_mq_get_tag()
200 void *data; member
218 static bool bt_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data) in bt_iter() argument
220 struct bt_iter_data *iter_data = data; in bt_iter()
238 ret = iter_data->fn(hctx, rq, iter_data->data, reserved); in bt_iter()
258 busy_iter_fn *fn, void *data, bool reserved) in bt_for_each() argument
263 .data = data, in bt_for_each()
273 void *data; member
281 static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data) in bt_tags_iter() argument
283 struct bt_tags_iter_data *iter_data = data; in bt_tags_iter()
306 ret = iter_data->fn(rq, iter_data->data, reserved); in bt_tags_iter()
325 busy_tag_iter_fn *fn, void *data, unsigned int flags) in bt_tags_for_each() argument
330 .data = data, in bt_tags_for_each()
399 void *data, bool reserved) in blk_mq_tagset_count_completed_rqs() argument
401 unsigned *count = data; in blk_mq_tagset_count_completed_rqs()