Home
last modified time | relevance | path

Searched refs:io_wq (Results 1 - 25 of 25) sorted by relevance

/kernel/linux/linux-6.6/io_uring/
H A Dio-wq.h7 struct io_wq;
46 struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data);
47 void io_wq_exit_start(struct io_wq *wq);
48 void io_wq_put_and_exit(struct io_wq *wq);
50 void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work);
54 int io_wq_max_workers(struct io_wq *wq, int *new_count);
64 enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel,
H A Dio-wq.c51 struct io_wq *wq;
94 * Per io_wq state
96 struct io_wq { struct
136 static bool create_io_worker(struct io_wq *wq, int index);
138 static bool io_acct_cancel_pending_work(struct io_wq *wq,
142 static void io_wq_cancel_tw_create(struct io_wq *wq);
155 static inline struct io_wq_acct *io_get_acct(struct io_wq *wq, bool bound) in io_get_acct()
160 static inline struct io_wq_acct *io_work_get_acct(struct io_wq *wq, in io_work_get_acct()
171 static void io_worker_ref_put(struct io_wq *wq) in io_worker_ref_put()
190 struct io_wq *w in io_worker_cancel_cb()
[all...]
H A Dtctx.c15 static struct io_wq *io_init_wq_offload(struct io_ring_ctx *ctx, in io_init_wq_offload()
52 WARN_ON_ONCE(tctx->io_wq); in __io_uring_free()
76 tctx->io_wq = io_init_wq_offload(ctx, task); in io_uring_alloc_task_context()
77 if (IS_ERR(tctx->io_wq)) { in io_uring_alloc_task_context()
78 ret = PTR_ERR(tctx->io_wq); in io_uring_alloc_task_context()
110 ret = io_wq_max_workers(tctx->io_wq, limits); in __io_uring_add_tctx_node()
180 struct io_wq *wq = tctx->io_wq; in io_uring_clean_tctx()
194 tctx->io_wq = NULL; in io_uring_clean_tctx()
H A Dcancel.c82 if (!tctx || !tctx->io_wq) in io_async_cancel_one()
86 cancel_ret = io_wq_cancel_cb(tctx->io_wq, io_cancel_cb, cd, all); in io_async_cancel_one()
H A Dio_uring.c501 BUG_ON(!tctx->io_wq); in io_queue_iowq()
517 io_wq_enqueue(tctx->io_wq, &req->work); in io_queue_iowq()
3094 if (tsk && tsk->io_uring && tsk->io_uring->io_wq) in io_ring_exit_work()
3095 io_wq_cancel_cb(tsk->io_uring->io_wq, in io_ring_exit_work()
3247 * io_wq will stay alive while we hold uring_lock, because it's in io_uring_try_cancel_iowq()
3250 if (!tctx || !tctx->io_wq) in io_uring_try_cancel_iowq()
3252 cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_ctx_cb, ctx, true); in io_uring_try_cancel_iowq()
3281 } else if (tctx && tctx->io_wq) { in io_uring_try_cancel_requests()
3286 cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_task_cb, in io_uring_try_cancel_requests()
3338 if (tctx->io_wq) in io_uring_cancel_generic()
[all...]
/kernel/linux/linux-5.10/io_uring/
H A Dio-wq.h6 struct io_wq;
123 struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data);
124 void io_wq_exit_start(struct io_wq *wq);
125 void io_wq_put_and_exit(struct io_wq *wq);
127 void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work);
130 int io_wq_cpu_affinity(struct io_wq *wq, cpumask_var_t mask);
131 int io_wq_max_workers(struct io_wq *wq, int *new_count);
141 enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel,
H A Dio-wq.c101 struct io_wq *wq;
108 * Per io_wq state
110 struct io_wq { struct
138 static bool create_io_worker(struct io_wq *wq, struct io_wqe *wqe, int index);
144 static void io_wq_cancel_tw_create(struct io_wq *wq);
173 static void io_worker_ref_put(struct io_wq *wq) in io_worker_ref_put()
193 struct io_wq *wq = wqe->wq; in io_worker_cancel_cb()
217 struct io_wq *wq = wqe->wq; in io_worker_exit()
296 * Most likely an attempt to queue unbounded work on an io_wq that in io_wqe_create_worker()
324 struct io_wq *w in create_worker_cb()
[all...]
H A Dio_uring.c470 struct io_wq *io_wq; member
1483 BUG_ON(!tctx->io_wq); in io_queue_async_work()
1500 io_wq_enqueue(tctx->io_wq, &req->work); in io_queue_async_work()
6364 if (!tctx || !tctx->io_wq) in io_async_cancel_one()
6367 cancel_ret = io_wq_cancel_cb(tctx->io_wq, io_cancel_cb, &data, false); in io_async_cancel_one()
8635 static struct io_wq *io_init_wq_offload(struct io_ring_ctx *ctx, in io_init_wq_offload()
8683 tctx->io_wq = io_init_wq_offload(ctx, task); in io_uring_alloc_task_context()
8684 if (IS_ERR(tctx->io_wq)) { in io_uring_alloc_task_context()
8685 ret = PTR_ERR(tctx->io_wq); in io_uring_alloc_task_context()
[all...]
/kernel/linux/linux-5.10/drivers/scsi/lpfc/
H A Dlpfc_debugfs.h417 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_wq()
461 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_cq()
566 if (phba->sli4_hba.hdwq[wq_idx].io_wq->queue_id == qid) in lpfc_debug_dump_wq_by_id()
570 lpfc_debug_dump_q(phba->sli4_hba.hdwq[wq_idx].io_wq); in lpfc_debug_dump_wq_by_id()
H A Dlpfc_nvme.c2309 pring = qp->io_wq->pring; in lpfc_nvme_lport_unreg_wait()
2749 if (!phba->sli4_hba.hdwq[i].io_wq) in lpfc_nvme_wait_for_io_drain()
2751 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_nvme_wait_for_io_drain()
H A Dlpfc_sli4.h690 struct lpfc_queue *io_wq; /* Fast-path FCP & NVME work queue */ member
H A Dlpfc_nvmet.c1105 wq = ctxp->hdwq->io_wq; in lpfc_nvmet_xmt_fcp_op()
1180 wq = ctxp->hdwq->io_wq; in lpfc_nvmet_xmt_fcp_abort()
2108 wq = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_nvmet_destroy_targetport()
H A Dlpfc_sli.c4117 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_abort_fcp_rings()
4159 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_flush_io_rings()
10130 wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq; in __lpfc_sli_issue_iocb_s4()
10277 return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring; in lpfc_sli4_calc_ring()
10759 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli4_queue_init()
11878 phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring; in lpfc_sli_abort_taskmgmt()
20031 wq = phba->sli4_hba.hdwq[0].io_wq; in lpfc_drain_txq()
20285 wq = qp->io_wq; in lpfc_sli4_issue_wqe()
20307 wq = qp->io_wq; in lpfc_sli4_issue_wqe()
20367 txcmplq_cnt = qp->io_wq in lpfc_snapshot_mxp()
[all...]
H A Dlpfc_debugfs.c532 txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; in lpfc_debugfs_multixripools_data()
3891 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_wqs_for_cq()
4481 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_queacc_write()
H A Dlpfc_init.c8925 phba->sli4_hba.hdwq[idx].io_wq = qdesc; in lpfc_alloc_io_wq_cq()
9350 lpfc_sli4_queue_free(hdwq[idx].io_wq); in lpfc_sli4_release_hdwq()
9353 hdwq[idx].io_wq = NULL; in lpfc_sli4_release_hdwq()
9690 qp[qidx].io_wq, in lpfc_sli4_queue_setup()
9997 lpfc_wq_destroy(phba, qp->io_wq); in lpfc_sli4_queue_unset()
H A Dlpfc_scsi.c4772 pring_s4 = phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring; in lpfc_abort_handler()
/kernel/linux/linux-6.6/drivers/scsi/lpfc/
H A Dlpfc_debugfs.h426 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_wq()
470 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_cq()
575 if (phba->sli4_hba.hdwq[wq_idx].io_wq->queue_id == qid) in lpfc_debug_dump_wq_by_id()
579 lpfc_debug_dump_q(phba->sli4_hba.hdwq[wq_idx].io_wq); in lpfc_debug_dump_wq_by_id()
H A Dlpfc_nvme.c2251 if (!vport->localport || !qp || !qp->io_wq) in lpfc_nvme_lport_unreg_wait()
2254 pring = qp->io_wq->pring; in lpfc_nvme_lport_unreg_wait()
2770 if (!phba->sli4_hba.hdwq[i].io_wq) in lpfc_nvme_wait_for_io_drain()
2772 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_nvme_wait_for_io_drain()
H A Dlpfc_sli4.h701 struct lpfc_queue *io_wq; /* Fast-path FCP & NVME work queue */ member
H A Dlpfc_nvmet.c1103 wq = ctxp->hdwq->io_wq; in lpfc_nvmet_xmt_fcp_op()
1178 wq = ctxp->hdwq->io_wq; in lpfc_nvmet_xmt_fcp_abort()
2111 wq = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_nvmet_destroy_targetport()
H A Dlpfc_sli.c4650 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_abort_fcp_rings()
4687 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_flush_io_rings()
10655 wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq; in __lpfc_sli_issue_iocb_s4()
11236 return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring; in lpfc_sli4_calc_ring()
11749 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli4_queue_init()
12874 phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring; in lpfc_sli_abort_taskmgmt()
21119 wq = phba->sli4_hba.hdwq[0].io_wq; in lpfc_drain_txq()
21362 wq = qp->io_wq; in lpfc_sli4_issue_wqe()
21384 wq = qp->io_wq; in lpfc_sli4_issue_wqe()
21524 txcmplq_cnt = qp->io_wq in lpfc_snapshot_mxp()
[all...]
H A Dlpfc_debugfs.c532 txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; in lpfc_debugfs_multixripools_data()
3892 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_wqs_for_cq()
4483 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_queacc_write()
H A Dlpfc_init.c10417 phba->sli4_hba.hdwq[idx].io_wq = qdesc; in lpfc_alloc_io_wq_cq()
10842 lpfc_sli4_queue_free(hdwq[idx].io_wq); in lpfc_sli4_release_hdwq()
10845 hdwq[idx].io_wq = NULL; in lpfc_sli4_release_hdwq()
11182 qp[qidx].io_wq, in lpfc_sli4_queue_setup()
11489 lpfc_wq_destroy(phba, qp->io_wq); in lpfc_sli4_queue_unset()
H A Dlpfc_scsi.c5554 pring_s4 = phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring; in lpfc_abort_handler()
/kernel/linux/linux-6.6/include/linux/
H A Dio_uring_types.h56 struct io_wq *io_wq; member

Completed in 148 milliseconds