/kernel/linux/linux-6.6/io_uring/ |
H A D | io-wq.h | 7 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 D | io-wq.c | 51 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 D | tctx.c | 15 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 D | cancel.c | 82 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 D | io_uring.c | 501 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 D | io-wq.h | 6 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 D | io-wq.c | 101 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 D | io_uring.c | 470 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 D | lpfc_debugfs.h | 417 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 D | lpfc_nvme.c | 2309 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 D | lpfc_sli4.h | 690 struct lpfc_queue *io_wq; /* Fast-path FCP & NVME work queue */ member
|
H A D | lpfc_nvmet.c | 1105 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 D | lpfc_sli.c | 4117 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 D | lpfc_debugfs.c | 532 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 D | lpfc_init.c | 8925 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 D | lpfc_scsi.c | 4772 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 D | lpfc_debugfs.h | 426 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 D | lpfc_nvme.c | 2251 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 D | lpfc_sli4.h | 701 struct lpfc_queue *io_wq; /* Fast-path FCP & NVME work queue */ member
|
H A D | lpfc_nvmet.c | 1103 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 D | lpfc_sli.c | 4650 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 D | lpfc_debugfs.c | 532 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 D | lpfc_init.c | 10417 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 D | lpfc_scsi.c | 5554 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 D | io_uring_types.h | 56 struct io_wq *io_wq; member
|