Lines Matching refs:ctx
83 struct blk_mq_ctx *ctx) in blk_mq_hctx_mark_pending() argument
85 const int bit = ctx->index_hw[hctx->type]; in blk_mq_hctx_mark_pending()
92 struct blk_mq_ctx *ctx) in blk_mq_hctx_clear_pending() argument
94 const int bit = ctx->index_hw[hctx->type]; in blk_mq_hctx_clear_pending()
294 rq->mq_ctx = data->ctx; in blk_mq_rq_ctx_init()
329 data->ctx->rq_dispatched[op_is_sync(data->cmd_flags)]++; in blk_mq_rq_ctx_init()
378 data->ctx = blk_mq_get_ctx(q); in __blk_mq_alloc_request()
379 data->hctx = blk_mq_map_queue(q, data->cmd_flags, data->ctx); in __blk_mq_alloc_request()
479 data.ctx = __blk_mq_get_ctx(q, cpu); in blk_mq_alloc_request_hctx()
499 struct blk_mq_ctx *ctx = rq->mq_ctx; in __blk_mq_free_request() local
511 blk_mq_put_tag(hctx->tags, ctx, rq->tag); in __blk_mq_free_request()
514 blk_mq_put_tag(hctx->sched_tags, ctx, sched_tag); in __blk_mq_free_request()
523 struct blk_mq_ctx *ctx = rq->mq_ctx; in blk_mq_free_request() local
535 ctx->rq_completed[rq_is_sync(rq)]++; in blk_mq_free_request()
1032 struct blk_mq_ctx *ctx = hctx->ctxs[bitnr]; in flush_busy_ctx() local
1035 spin_lock(&ctx->lock); in flush_busy_ctx()
1036 list_splice_tail_init(&ctx->rq_lists[type], flush_data->list); in flush_busy_ctx()
1038 spin_unlock(&ctx->lock); in flush_busy_ctx()
1067 struct blk_mq_ctx *ctx = hctx->ctxs[bitnr]; in dispatch_rq_from_ctx() local
1070 spin_lock(&ctx->lock); in dispatch_rq_from_ctx()
1071 if (!list_empty(&ctx->rq_lists[type])) { in dispatch_rq_from_ctx()
1072 dispatch_data->rq = list_entry_rq(ctx->rq_lists[type].next); in dispatch_rq_from_ctx()
1074 if (list_empty(&ctx->rq_lists[type])) in dispatch_rq_from_ctx()
1077 spin_unlock(&ctx->lock); in dispatch_rq_from_ctx()
1720 struct blk_mq_ctx *ctx = blk_mq_get_ctx(q); in blk_mq_get_sq_hctx() local
1728 struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, 0, ctx); in blk_mq_get_sq_hctx()
1904 struct blk_mq_ctx *ctx = rq->mq_ctx; in __blk_mq_insert_req_list() local
1907 lockdep_assert_held(&ctx->lock); in __blk_mq_insert_req_list()
1912 list_add(&rq->queuelist, &ctx->rq_lists[type]); in __blk_mq_insert_req_list()
1914 list_add_tail(&rq->queuelist, &ctx->rq_lists[type]); in __blk_mq_insert_req_list()
1920 struct blk_mq_ctx *ctx = rq->mq_ctx; in __blk_mq_insert_request() local
1923 lockdep_assert_held(&ctx->lock); in __blk_mq_insert_request()
1930 blk_mq_hctx_mark_pending(hctx, ctx); in __blk_mq_insert_request()
1958 void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx, in blk_mq_insert_requests() argument
1970 BUG_ON(rq->mq_ctx != ctx); in blk_mq_insert_requests()
1974 spin_lock(&ctx->lock); in blk_mq_insert_requests()
1975 list_splice_tail_init(list, &ctx->rq_lists[type]); in blk_mq_insert_requests()
1976 blk_mq_hctx_mark_pending(hctx, ctx); in blk_mq_insert_requests()
1977 spin_unlock(&ctx->lock); in blk_mq_insert_requests()
2681 struct blk_mq_ctx *ctx; in blk_mq_hctx_notify_dead() local
2689 ctx = __blk_mq_get_ctx(hctx->queue, cpu); in blk_mq_hctx_notify_dead()
2692 spin_lock(&ctx->lock); in blk_mq_hctx_notify_dead()
2693 if (!list_empty(&ctx->rq_lists[type])) { in blk_mq_hctx_notify_dead()
2694 list_splice_init(&ctx->rq_lists[type], &tmp); in blk_mq_hctx_notify_dead()
2695 blk_mq_hctx_clear_pending(hctx, ctx); in blk_mq_hctx_notify_dead()
2697 spin_unlock(&ctx->lock); in blk_mq_hctx_notify_dead()
2965 struct blk_mq_ctx *ctx; in blk_mq_map_swqueue() local
2981 ctx = per_cpu_ptr(q->queue_ctx, i); in blk_mq_map_swqueue()
2984 ctx->hctxs[j] = blk_mq_map_queue_type(q, in blk_mq_map_swqueue()
3002 ctx->hctxs[j] = hctx; in blk_mq_map_swqueue()
3013 ctx->index_hw[hctx->type] = hctx->nr_ctx; in blk_mq_map_swqueue()
3014 hctx->ctxs[hctx->nr_ctx++] = ctx; in blk_mq_map_swqueue()
3024 ctx->hctxs[j] = blk_mq_map_queue_type(q, in blk_mq_map_swqueue()
3146 struct blk_mq_ctx *ctx = per_cpu_ptr(ctxs->queue_ctx, cpu); in blk_mq_alloc_ctxs() local
3147 ctx->ctxs = ctxs; in blk_mq_alloc_ctxs()