| /linux/io_uring/ |
| H A D | io-wq.c | 54 struct io_wq *wq; 116 struct io_wq { struct 147 static bool create_io_worker(struct io_wq *wq, struct io_wq_acct *acct); argument 149 static bool io_acct_cancel_pending_work(struct io_wq *wq, 153 static void io_wq_cancel_tw_create(struct io_wq *wq); 176 static inline struct io_wq_acct *io_get_acct(struct io_wq *wq, bool bound) in io_get_acct() 181 static inline struct io_wq_acct *io_work_get_acct(struct io_wq *wq, in io_work_get_acct() 192 static void io_worker_ref_put(struct io_wq *wq) in io_worker_ref_put() 211 struct io_wq *wq = worker->wq; in io_worker_cancel_cb() 234 struct io_wq *wq = worker->wq; in io_worker_exit() [all …]
|
| H A D | io-wq.h | 8 struct io_wq; 42 struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data); 43 void io_wq_exit_start(struct io_wq *wq); 44 void io_wq_put_and_exit(struct io_wq *wq); 45 void io_wq_set_exit_on_idle(struct io_wq *wq, bool enable); 47 void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work); 51 int io_wq_max_workers(struct io_wq *wq, int *new_count); 66 enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel,
|
| H A D | tctx.c | 16 static struct io_wq *io_init_wq_offload(struct io_ring_ctx *ctx, in io_init_wq_offload() 63 WARN_ON_ONCE(tctx->io_wq); in __io_uring_free() 93 tctx->io_wq = io_init_wq_offload(ctx, task); in io_uring_alloc_task_context() 94 if (IS_ERR(tctx->io_wq)) { in io_uring_alloc_task_context() 95 ret = PTR_ERR(tctx->io_wq); in io_uring_alloc_task_context() 128 ret = io_wq_max_workers(tctx->io_wq, limits); in __io_uring_add_tctx_node() 139 if (tctx->io_wq) in __io_uring_add_tctx_node() 140 io_wq_set_exit_on_idle(tctx->io_wq, false); in __io_uring_add_tctx_node() 203 if (xa_empty(&tctx->xa) && tctx->io_wq) in io_uring_del_tctx_node() 204 io_wq_set_exit_on_idle(tctx->io_wq, true); in io_uring_del_tctx_node() [all …]
|
| H A D | cancel.c | 85 if (!tctx || !tctx->io_wq) in io_async_cancel_one() 89 cancel_ret = io_wq_cancel_cb(tctx->io_wq, io_cancel_cb, cd, all); in io_async_cancel_one() 497 if (!tctx || !tctx->io_wq) in io_uring_try_cancel_iowq() 499 cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_ctx_cb, ctx, true); in io_uring_try_cancel_iowq() 528 } else if (tctx->io_wq) { in io_uring_try_cancel_requests() 533 cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_task_cb, in io_uring_try_cancel_requests() 590 if (tctx->io_wq) in io_uring_cancel_generic() 591 io_wq_exit_start(tctx->io_wq); in io_uring_cancel_generic()
|
| H A D | register.c | 397 if (tctx && tctx->io_wq) { in io_register_iowq_max_workers() 398 ret = io_wq_max_workers(tctx->io_wq, new_count); in io_register_iowq_max_workers() 423 if (WARN_ON_ONCE(!tctx->io_wq)) in io_register_iowq_max_workers() 429 (void)io_wq_max_workers(tctx->io_wq, new_count); in io_register_iowq_max_workers()
|
| H A D | io_uring.c | 412 if ((current->flags & PF_KTHREAD) || !tctx->io_wq) { in io_queue_iowq() 431 io_wq_enqueue(tctx->io_wq, &req->work); in io_queue_iowq() 2337 if (tsk && tsk->io_uring && tsk->io_uring->io_wq) in io_ring_exit_work() 2338 io_wq_cancel_cb(tsk->io_uring->io_wq, in io_ring_exit_work()
|
| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_debugfs.h | 440 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_wq() 484 wq = phba->sli4_hba.hdwq[wqidx].io_wq; in lpfc_debug_dump_cq() 589 if (phba->sli4_hba.hdwq[wq_idx].io_wq->queue_id == qid) in lpfc_debug_dump_wq_by_id() 593 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 | 2246 if (!vport->localport || !qp || !qp->io_wq) in lpfc_nvme_lport_unreg_wait() 2249 pring = qp->io_wq->pring; in lpfc_nvme_lport_unreg_wait() 2771 if (!phba->sli4_hba.hdwq[i].io_wq) in lpfc_nvme_wait_for_io_drain() 2773 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_nvme_wait_for_io_drain()
|
| H A D | lpfc_sli4.h | 703 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() 2124 wq = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_nvmet_destroy_targetport()
|
| H A D | lpfc_sli.c | 4652 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_abort_fcp_rings() 4688 !phba->sli4_hba.hdwq[i].io_wq) { in lpfc_sli_flush_io_rings() 4698 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli_flush_io_rings() 10732 wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq; in __lpfc_sli_issue_iocb_s4() 11321 return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring; in lpfc_sli4_calc_ring() 11834 pring = phba->sli4_hba.hdwq[i].io_wq->pring; in lpfc_sli4_queue_init() 12947 phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring; in lpfc_sli_abort_taskmgmt() 21225 wq = phba->sli4_hba.hdwq[0].io_wq; in lpfc_drain_txq() 21468 wq = qp->io_wq; in lpfc_sli4_issue_wqe() 21490 wq = qp->io_wq; in lpfc_sli4_issue_wqe() [all …]
|
| H A D | lpfc_scsi.c | 5570 if (!phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq || in lpfc_abort_handler() 5571 !phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring) { in lpfc_abort_handler() 5582 pring_s4 = phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring; in lpfc_abort_handler()
|
| H A D | lpfc_debugfs.c | 532 txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; in lpfc_debugfs_multixripools_data() 3921 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_wqs_for_cq() 4512 qp = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_idiag_queacc_write()
|
| H A D | lpfc_init.c | 10392 phba->sli4_hba.hdwq[idx].io_wq = qdesc; in lpfc_alloc_io_wq_cq() 10817 lpfc_sli4_queue_free(hdwq[idx].io_wq); in lpfc_sli4_release_hdwq() 10820 hdwq[idx].io_wq = NULL; in lpfc_sli4_release_hdwq() 11154 qp[qidx].io_wq, in lpfc_sli4_queue_setup() 11461 lpfc_wq_destroy(phba, qp->io_wq); in lpfc_sli4_queue_unset()
|
| /linux/include/linux/ |
| H A D | io_uring_types.h | 116 struct io_wq *io_wq; member
|