Lines Matching refs:tag
23 struct request *blk_queue_find_tag(struct request_queue *q, int tag) in blk_queue_find_tag() argument
25 return blk_map_queue_find_tag(q->queue_tags, tag); in blk_queue_find_tag()
268 unsigned tag = rq->tag; /* negative tags invalid */ in blk_queue_end_tag() local
270 BUG_ON(tag >= bqt->real_max_depth); in blk_queue_end_tag()
274 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()
317 int tag; in blk_queue_start_tag() local
323 rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->tag); in blk_queue_start_tag()
352 tag = find_first_zero_bit(bqt->tag_map, max_depth); in blk_queue_start_tag()
353 if (tag >= max_depth) in blk_queue_start_tag()
358 tag = find_next_zero_bit(bqt->tag_map, size, start); in blk_queue_start_tag()
359 if (tag >= size && start + size > bqt->max_depth) { in blk_queue_start_tag()
361 tag = find_first_zero_bit(bqt->tag_map, size); in blk_queue_start_tag()
363 if (tag >= size) in blk_queue_start_tag()
367 } while (test_and_set_bit_lock(tag, bqt->tag_map)); in blk_queue_start_tag()
373 bqt->next_tag = (tag + 1) % bqt->max_depth; in blk_queue_start_tag()
375 rq->tag = tag; in blk_queue_start_tag()
376 bqt->tag_index[tag] = rq; in blk_queue_start_tag()