Lines Matching refs:tag
146 int tag, org_last_tag = last_tag; in __bt_get_word() local
149 tag = find_next_zero_bit(&bm->word, bm->depth, last_tag); in __bt_get_word()
150 if (unlikely(tag >= bm->depth)) { in __bt_get_word()
163 if (!test_and_set_bit(tag, &bm->word)) in __bt_get_word()
166 last_tag = tag + 1; in __bt_get_word()
171 return tag; in __bt_get_word()
191 int index, i, tag; in __bt_get() local
200 tag = __bt_get_word(&bt->map[index], TAG_TO_BIT(bt, last_tag), in __bt_get()
202 if (tag != -1) { in __bt_get()
203 tag += (index << bt->bits_per_word); in __bt_get()
228 if (tag == org_last_tag || unlikely(BT_ALLOC_RR(tags))) { in __bt_get()
229 last_tag = tag + 1; in __bt_get()
236 return tag; in __bt_get()
261 int tag; in bt_get() local
263 tag = __bt_get(hctx, bt, last_tag, tags); in bt_get()
264 if (tag != -1) in bt_get()
265 return tag; in bt_get()
274 tag = __bt_get(hctx, bt, last_tag, tags); in bt_get()
275 if (tag != -1) in bt_get()
291 tag = __bt_get(hctx, bt, last_tag, tags); in bt_get()
292 if (tag != -1) in bt_get()
314 return tag; in bt_get()
319 int tag; in __blk_mq_get_tag() local
321 tag = bt_get(data, &data->hctx->tags->bitmap_tags, data->hctx, in __blk_mq_get_tag()
323 if (tag >= 0) in __blk_mq_get_tag()
324 return tag + data->hctx->tags->nr_reserved_tags; in __blk_mq_get_tag()
331 int tag, zero = 0; in __blk_mq_get_reserved_tag() local
338 tag = bt_get(data, &data->hctx->tags->breserved_tags, NULL, &zero, in __blk_mq_get_reserved_tag()
340 if (tag < 0) in __blk_mq_get_reserved_tag()
343 return tag; in __blk_mq_get_reserved_tag()
376 static void bt_clear_tag(struct blk_mq_bitmap_tags *bt, unsigned int tag) in bt_clear_tag() argument
378 const int index = TAG_TO_INDEX(bt, tag); in bt_clear_tag()
382 clear_bit(TAG_TO_BIT(bt, tag), &bt->map[index].word); in bt_clear_tag()
401 void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag, in blk_mq_put_tag() argument
406 if (tag >= tags->nr_reserved_tags) { in blk_mq_put_tag()
407 const int real_tag = tag - tags->nr_reserved_tags; in blk_mq_put_tag()
414 BUG_ON(tag >= tags->nr_reserved_tags); in blk_mq_put_tag()
415 bt_clear_tag(&tags->breserved_tags, tag); in blk_mq_put_tag()
596 void blk_mq_tag_init_last_tag(struct blk_mq_tags *tags, unsigned int *tag) in blk_mq_tag_init_last_tag() argument
600 *tag = prandom_u32() % depth; in blk_mq_tag_init_last_tag()
642 (rq->tag & BLK_MQ_UNIQUE_TAG_MASK); in blk_mq_unique_tag()