Home
last modified time | relevance | path

Searched refs:iowq (Results 1 – 4 of 4) sorted by relevance

/linux/io_uring/
H A Dnapi.c147 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 Dnapi.h20 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 Dio_uring.c2345 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 Dio_uring.h57 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()