Home
last modified time | relevance | path

Searched refs:io_wq (Results 1 – 15 of 15) sorted by relevance

/linux/io_uring/
H A Dio-wq.c54 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 Dio-wq.h8 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 Dtctx.c16 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 Dcancel.c85 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 Dregister.c397 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 Dio_uring.c412 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 Dlpfc_debugfs.h440 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 Dlpfc_nvme.c2246 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 Dlpfc_sli4.h703 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()
2124 wq = phba->sli4_hba.hdwq[qidx].io_wq; in lpfc_nvmet_destroy_targetport()
H A Dlpfc_sli.c4652 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 Dlpfc_scsi.c5570 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 Dlpfc_debugfs.c532 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 Dlpfc_init.c10392 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 Dio_uring_types.h116 struct io_wq *io_wq; member