Searched refs:iowq (Results 1 – 4 of 4) sorted by relevance
/linux/io_uring/ |
H A D | napi.c | 147 struct io_wait_queue *iowq = data; in io_napi_busy_loop_should_end() local 151 if (io_should_wake(iowq) || io_has_work(iowq->ctx)) in io_napi_busy_loop_should_end() 154 iowq->napi_busy_poll_dt)) in io_napi_busy_loop_should_end() 205 struct io_wait_queue *iowq) in io_napi_blocking_busy_loop() argument 217 loop_end_arg = iowq; in io_napi_blocking_busy_loop() 224 } while (!io_napi_busy_loop_should_end(iowq, start_time) && in io_napi_blocking_busy_loop() 357 void __io_napi_busy_loop(struct io_ring_ctx *ctx, struct io_wait_queue *iowq) in __io_napi_busy_loop() argument 362 iowq->napi_busy_poll_dt = READ_ONCE(ctx->napi_busy_poll_dt); in __io_napi_busy_loop() 363 if (iowq->timeout != KTIME_MAX) { in __io_napi_busy_loop() 364 ktime_t dt = ktime_sub(iowq->timeout, io_get_time(ctx)); in __io_napi_busy_loop() [all …]
|
H A D | napi.h | 20 void __io_napi_busy_loop(struct io_ring_ctx *ctx, struct io_wait_queue *iowq); 29 struct io_wait_queue *iowq) in io_napi_busy_loop() argument 33 __io_napi_busy_loop(ctx, iowq); in io_napi_busy_loop() 79 struct io_wait_queue *iowq) in io_napi_busy_loop() argument
|
H A D | io_uring.c | 2345 struct io_wait_queue *iowq = container_of(curr, struct io_wait_queue, wq); in io_wake_function() local 2351 if (io_should_wake(iowq) || io_has_work(iowq->ctx)) in io_wake_function() 2381 struct io_wait_queue *iowq = container_of(timer, struct io_wait_queue, t); in io_cqring_timer_wakeup() local 2383 WRITE_ONCE(iowq->hit_timeout, 1); in io_cqring_timer_wakeup() 2384 iowq->min_timeout = 0; in io_cqring_timer_wakeup() 2385 wake_up_process(iowq->wq.private); in io_cqring_timer_wakeup() 2396 struct io_wait_queue *iowq = container_of(timer, struct io_wait_queue, t); in io_cqring_min_timer_wakeup() local 2397 struct io_ring_ctx *ctx = iowq->ctx; in io_cqring_min_timer_wakeup() 2400 if (iowq->timeout == KTIME_MAX || in io_cqring_min_timer_wakeup() 2401 ktime_compare(iowq->min_timeout, iowq->timeout) >= 0) in io_cqring_min_timer_wakeup() [all …]
|
H A D | io_uring.h | 57 static inline bool io_should_wake(struct io_wait_queue *iowq) in io_should_wake() argument 59 struct io_ring_ctx *ctx = iowq->ctx; in io_should_wake() 60 int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; in io_should_wake() 67 return dist >= 0 || atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts; in io_should_wake()
|