Lines Matching refs:tag
24 struct request *blk_queue_find_tag(struct request_queue *q, int tag) in blk_queue_find_tag() argument
26 return blk_map_queue_find_tag(q->queue_tags, tag); in blk_queue_find_tag()
265 unsigned tag = rq->tag; /* negative tags invalid */ in blk_queue_end_tag() local
269 BUG_ON(tag >= bqt->real_max_depth); in blk_queue_end_tag()
273 rq->tag = -1; in blk_queue_end_tag()
276 if (unlikely(bqt->tag_index[tag] == NULL)) in blk_queue_end_tag()
278 __func__, tag); in blk_queue_end_tag()
280 bqt->tag_index[tag] = NULL; in blk_queue_end_tag()
282 if (unlikely(!test_bit(tag, bqt->tag_map))) { in blk_queue_end_tag()
284 __func__, tag); in blk_queue_end_tag()
291 clear_bit_unlock(tag, bqt->tag_map); in blk_queue_end_tag()
313 int tag; in blk_queue_start_tag() local
321 rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->tag); in blk_queue_start_tag()
350 tag = find_first_zero_bit(bqt->tag_map, max_depth); in blk_queue_start_tag()
351 if (tag >= max_depth) in blk_queue_start_tag()
356 tag = find_next_zero_bit(bqt->tag_map, size, start); in blk_queue_start_tag()
357 if (tag >= size && start + size > bqt->max_depth) { in blk_queue_start_tag()
359 tag = find_first_zero_bit(bqt->tag_map, size); in blk_queue_start_tag()
361 if (tag >= size) in blk_queue_start_tag()
365 } while (test_and_set_bit_lock(tag, bqt->tag_map)); in blk_queue_start_tag()
371 bqt->next_tag = (tag + 1) % bqt->max_depth; in blk_queue_start_tag()
373 rq->tag = tag; in blk_queue_start_tag()
374 bqt->tag_index[tag] = rq; in blk_queue_start_tag()