Patch 3 allows the user to pass IORING_ENTER_ABS_TIMER while waiting for completions, which makes the kernel to interpret the passed timespec not as a relative time to wait but rather an absolute timeout. Patch 4 adds a way to set a clock id to use for CQ waiting. Tests: https://github.com/isilence/liburing.git abs-timeout v2: Add clock id registration Adjustment using iowq->timeout in Patch 2 Pavel Begunkov (4): io_uring/napi: refactor __io_napi_busy_loop() io_uring/napi: postpone napi timeout adjustment io_uring: add absolute mode wait timeouts io_uring: user registered clockid for wait timeouts include/linux/io_uring_types.h | 3 +++ include/uapi/linux/io_uring.h | 8 ++++++++ io_uring/io_uring.c | 22 ++++++++++++--------- io_uring/io_uring.h | 8 ++++++++ io_uring/napi.c | 35 +++++++++++----------------------- io_uring/napi.h | 16 ---------------- io_uring/register.c | 31 ++++++++++++++++++++++++++++++ 7 files changed, 74 insertions(+), 49 deletions(-) -- 2.45.2