Lines Matching defs:iowq
6894 /* either cancelled or io-wq is dying, so don't touch tctx->iowq */
7606 static inline bool io_should_wake(struct io_wait_queue *iowq)
7608 struct io_ring_ctx *ctx = iowq->ctx;
7609 int dist = ctx->cached_cq_tail - (int) iowq->cq_tail;
7616 return dist >= 0 || atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts;
7622 struct io_wait_queue *iowq = container_of(curr, struct io_wait_queue,
7629 if (io_should_wake(iowq) || test_bit(0, &iowq->ctx->check_cq_overflow))
7656 struct io_wait_queue *iowq,
7663 if (ret || io_should_wake(iowq))
7692 struct io_wait_queue iowq;
7726 init_waitqueue_func_entry(&iowq.wq, io_wake_function);
7727 iowq.wq.private = current;
7728 INIT_LIST_HEAD(&iowq.wq.entry);
7729 iowq.ctx = ctx;
7730 iowq.nr_timeouts = atomic_read(&ctx->cq_timeouts);
7731 iowq.cq_tail = READ_ONCE(ctx->rings->cq.head) + min_events;
7740 prepare_to_wait_exclusive(&ctx->cq_wait, &iowq.wq,
7742 ret = io_cqring_wait_schedule(ctx, &iowq, &timeout);
7743 finish_wait(&ctx->cq_wait, &iowq.wq);