Hi, v2 of the registered wait support, avoiding needless copies for doing high frequency waits. For v1, see the posting here: https://lore.kernel.org/io-uring/20241022204708.1025470-1-axboe@xxxxxxxxx/T/#m2d1eb2cc648b9f9c292fd75fc6bc2a8d71eadd49 As with v1, find the kernel repo here: https://git.kernel.dk/cgit/linux/log/?h=io_uring-reg-wait and the liburing side here: https://git.kernel.dk/cgit/liburing/log/?h=reg-wait include/linux/io_uring_types.h | 10 ++++ include/uapi/linux/io_uring.h | 18 ++++++ io_uring/io_uring.c | 104 ++++++++++++++++++++++++++------- io_uring/register.c | 79 +++++++++++++++++++++++++ io_uring/register.h | 1 + 5 files changed, 190 insertions(+), 22 deletions(-) Since v1: - Add io_unregister_cqwait_reg() for ring exit cleanp - Ensure some 32-bit archs work with uaccess - Add separate index for checking validity of wait index - Add various sanity checking for registration - Account memory for cqwait region - Expand the test cases in liburing quite a bit -- Jens Axboe