Lines Matching refs:list
67 * Check if any of the ctx, dispatch list or elevator
380 * dispatch list. Don't include reserved tags in the
589 * Softirq action handler - move entries to local list and loop over them
612 struct list_head *list;
616 list = this_cpu_ptr(&blk_cpu_done);
617 list_add_tail(&rq->ipi_list, list);
620 * If the list only contains our just added request, signal a raise of
624 if (list->next == &rq->ipi_list)
820 * data, so insert it to hctx dispatch list to avoid any
1020 struct list_head *list;
1031 list_splice_tail_init(&ctx->rq_lists[type], flush_data->list);
1041 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list)
1045 .list = list,
1276 struct list_head *list)
1279 list_first_entry_or_null(list, struct request, queuelist);
1288 list_add(&rq->queuelist, list);
1326 * before we add this entry back on the dispatch list,
1356 bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list,
1367 if (list_empty(list))
1377 rq = list_first_entry(list, struct request, queuelist);
1392 if (list_empty(list))
1395 nxt = list_first_entry(list, struct request, queuelist);
1414 blk_mq_handle_dev_resource(rq, list);
1419 * the dispatch list to find more requests the drive can
1429 } while (!list_empty(list));
1432 list_splice_tail_init(&zone_list, list);
1436 /* If we didn't flush the entire list, we could have told the driver
1439 if ((!list_empty(list) || errors || needs_resource ||
1446 if (!list_empty(list)) {
1455 list_splice_tail_init(list, &hctx->dispatch);
1475 * AFTER adding our entries back to the list.
1479 * were pushed back onto the dispatch list. Rerun the queue to
1864 * blk_mq_request_bypass_insert - Insert a request at dispatch list.
1866 * @at_head: true if the request should be inserted at the head of the list.
1889 struct list_head *list)
1896 * preemption doesn't flush plug list, so it's possible ctx->cpu is
1899 list_for_each_entry(rq, list, queuelist) {
1905 list_splice_tail_init(list, &ctx->rq_lists[type]);
1926 LIST_HEAD(list);
1930 list_splice_init(&plug->mq_list, &list);
1933 list_sort(NULL, &list, plug_rq_cmp);
1939 struct request *rq, *head_rq = list_entry_rq(list.next);
1945 list_for_each_continue(pos, &list) {
1953 list_cut_before(&rq_list, &list, pos);
1957 } while(!list_empty(&list));
1995 * Any other error (busy), just add it to our list as we
2105 struct list_head *list)
2110 while (!list_empty(list)) {
2112 struct request *rq = list_first_entry(list, struct request,
2116 ret = blk_mq_request_issue_directly(rq, list_empty(list));
2122 list_empty(list));
2131 * If we didn't flush the entire list, we could have told
2135 if ((!list_empty(list) || errors) &&
2272 * Otherwise the existing request in the plug list will be
2273 * issued. So the plug list will have one request at most
2274 * The plug list might get flushed before this. If that happens,
2275 * the plug list is empty, and same_queue_rq is invalid.
2602 * software queue to the hw queue dispatch list, and ensure that it
3666 * Cache the elevator_type in qe pair list and switch the