Home
last modified time | relevance | path

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

/linux-6.12.1/io_uring/
Dnapi.c126 struct io_wait_queue *iowq = data; in io_napi_busy_loop_should_end() local
130 if (io_should_wake(iowq) || io_has_work(iowq->ctx)) in io_napi_busy_loop_should_end()
133 iowq->napi_busy_poll_dt)) in io_napi_busy_loop_should_end()
161 struct io_wait_queue *iowq) in io_napi_blocking_busy_loop() argument
171 loop_end_arg = iowq; in io_napi_blocking_busy_loop()
176 } while (!io_napi_busy_loop_should_end(iowq, start_time) && !loop_end_arg); in io_napi_blocking_busy_loop()
279 void __io_napi_busy_loop(struct io_ring_ctx *ctx, struct io_wait_queue *iowq) in __io_napi_busy_loop() argument
284 iowq->napi_busy_poll_dt = READ_ONCE(ctx->napi_busy_poll_dt); in __io_napi_busy_loop()
285 if (iowq->timeout != KTIME_MAX) { in __io_napi_busy_loop()
286 ktime_t dt = ktime_sub(iowq->timeout, io_get_time(ctx)); in __io_napi_busy_loop()
[all …]
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
Dio_uring.c2348 struct io_wait_queue *iowq = container_of(curr, struct io_wait_queue, wq); in io_wake_function() local
2354 if (io_should_wake(iowq) || io_has_work(iowq->ctx)) in io_wake_function()
2384 struct io_wait_queue *iowq = container_of(timer, struct io_wait_queue, t); in io_cqring_timer_wakeup() local
2386 WRITE_ONCE(iowq->hit_timeout, 1); in io_cqring_timer_wakeup()
2387 iowq->min_timeout = 0; in io_cqring_timer_wakeup()
2388 wake_up_process(iowq->wq.private); in io_cqring_timer_wakeup()
2399 struct io_wait_queue *iowq = container_of(timer, struct io_wait_queue, t); in io_cqring_min_timer_wakeup() local
2400 struct io_ring_ctx *ctx = iowq->ctx; in io_cqring_min_timer_wakeup()
2403 if (iowq->timeout == KTIME_MAX || in io_cqring_min_timer_wakeup()
2404 ktime_compare(iowq->min_timeout, iowq->timeout) >= 0) in io_cqring_min_timer_wakeup()
[all …]
Dio_uring.h55 static inline bool io_should_wake(struct io_wait_queue *iowq) in io_should_wake() argument
57 struct io_ring_ctx *ctx = iowq->ctx; in io_should_wake()
58 int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; in io_should_wake()
65 return dist >= 0 || atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts; in io_should_wake()