Hi Linus, Here's the first batch of io_uring updates for the 6.7 merge window. This contains the core bits, of which there are not many, and adds support for using WAITID through io_uring and hence not needing to block on these kinds of events. Outside of that, tweaks to the legacy provided buffer handling and some cleanups related to cancelations for uring_cmd support. Please pull! The following changes since commit ce9ecca0238b140b88f43859b211c9fdfd8e5b70: Linux 6.6-rc2 (2023-09-17 14:40:24 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/for-6.7/io_uring-2023-10-30 for you to fetch changes up to 6ce4a93dbb5bd93bc2bdf14da63f9360a4dcd6a1: io_uring/poll: use IOU_F_TWQ_LAZY_WAKE for wakeups (2023-10-19 06:42:29 -0600) ---------------------------------------------------------------- for-6.7/io_uring-2023-10-30 ---------------------------------------------------------------- Gabriel Krisman Bertazi (3): io_uring/kbuf: Fix check of BID wrapping in provided buffers io_uring/kbuf: Allow the full buffer id space for provided buffers io_uring/kbuf: Use slab for struct io_buffer objects Jens Axboe (10): io_uring/rw: split io_read() into a helper io_uring/rw: mark readv/writev as vectored in the opcode definition io_uring/rw: add support for IORING_OP_READ_MULTISHOT exit: abstract out should_wake helper for child_wait_callback() exit: move core of do_wait() into helper exit: add kernel_waitid_prepare() helper exit: add internal include file with helpers io_uring: add IORING_OP_WAITID support io_uring/rsrc: cleanup io_pin_pages() io_uring/poll: use IOU_F_TWQ_LAZY_WAKE for wakeups Ming Lei (2): io_uring: retain top 8bits of uring_cmd flags for kernel internal use io_uring: cancelable uring_cmd include/linux/io_uring.h | 18 ++ include/linux/io_uring_types.h | 10 +- include/uapi/linux/io_uring.h | 8 +- io_uring/Makefile | 3 +- io_uring/cancel.c | 5 + io_uring/io_uring.c | 43 ++++- io_uring/io_uring.h | 1 + io_uring/kbuf.c | 58 ++++--- io_uring/opdef.c | 24 ++- io_uring/opdef.h | 2 + io_uring/poll.c | 2 +- io_uring/rsrc.c | 37 ++-- io_uring/rw.c | 92 +++++++++- io_uring/rw.h | 2 + io_uring/uring_cmd.c | 49 +++++- io_uring/waitid.c | 372 +++++++++++++++++++++++++++++++++++++++++ io_uring/waitid.h | 15 ++ kernel/exit.c | 131 ++++++++------- kernel/exit.h | 30 ++++ 19 files changed, 782 insertions(+), 120 deletions(-) create mode 100644 io_uring/waitid.c create mode 100644 io_uring/waitid.h create mode 100644 kernel/exit.h -- Jens Axboe