Hi Linus, Nothing major in this release, just a bunch of cleanups and some optimizations around networking mostly. Will throw a minor conflict in io_uring/net.c due to the late fixes in mainline, you'll want to keep the kmsg->msg.msg_inq = -1U; assignment there. Please pull! - Series cleaning up file request flags handling (Christoph) - Series cleaning up request freeing and CQ locking (Pavel) - Support for using pre-registering the io_uring fd at setup time (Josh) - Add support for user allocated ring memory, rather than having the kernel allocate it. Mostly for packing rings into a huge page (me) - Series avoiding an unnecessary double retry on receive (me) - Maintain ordering for task_work, which also improves performance (me) - Misc cleanups/fixes (Pavel, me) The following changes since commit f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6: Linux 6.4-rc2 (2023-05-14 12:51:40 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/for-6.5/io_uring-2023-06-23 for you to fetch changes up to c98c81a4ac37b651be7eb9d16f562fc4acc5f867: io_uring: merge conditional unlock flush helpers (2023-06-23 08:19:40 -0600) ---------------------------------------------------------------- for-6.5/io_uring-2023-06-23 ---------------------------------------------------------------- Christoph Hellwig (8): io_uring: remove __io_file_supports_nowait io_uring: remove the mode variable in io_file_get_flags io_uring: remove a confusing comment above io_file_get_flags io_uring: remove io_req_ffs_set io_uring: return REQ_F_ flags from io_file_get_flags io_uring: use io_file_from_index in __io_sync_cancel io_uring: use io_file_from_index in io_msg_grab_file io_uring: add helpers to decode the fixed file file_ptr Jens Axboe (16): net: set FMODE_NOWAIT for sockets block: mark bdev files as FMODE_NOWAIT if underlying device supports it io_uring: rely solely on FMODE_NOWAIT io_uring: remove sq/cq_off memset io_uring: return error pointer from io_mem_alloc() io_uring: add ring freeing helper io_uring: support for user allocated memory for rings/sqes io_uring/net: initialize struct msghdr more sanely for io_recv() io_uring/net: initalize msghdr->msg_inq to known value io_uring/net: push IORING_CQE_F_SOCK_NONEMPTY into io_recv_finish() io_uring/net: don't retry recvmsg() unnecessarily io_uring: maintain ordering for DEFER_TASKRUN tw list io_uring: avoid indirect function calls for the hottest task_work io_uring: cleanup io_aux_cqe() API io_uring: get rid of unnecessary 'length' variable io_uring: wait interruptibly for request completions on exit Josh Triplett (1): io_uring: Add io_uring_setup flag to pre-register ring fd and never install it Pavel Begunkov (14): io_uring: annotate offset timeout races io_uring/cmd: add cmd lazy tw wake helper nvme: optimise io_uring passthrough completion io_uring: open code io_put_req_find_next io_uring: remove io_free_req_tw io_uring: inline io_dismantle_req() io_uring: move io_clean_op() io_uring: don't batch task put on reqs free io_uring: remove IOU_F_TWQ_FORCE_NORMAL io_uring: kill io_cq_unlock() io_uring: fix acquire/release annotations io_uring: inline __io_cq_unlock io_uring: make io_cq_unlock_post static io_uring: merge conditional unlock flush helpers block/fops.c | 5 +- drivers/nvme/host/ioctl.c | 4 +- include/linux/io_uring.h | 18 +- include/linux/io_uring_types.h | 10 + include/uapi/linux/io_uring.h | 16 +- io_uring/cancel.c | 5 +- io_uring/filetable.c | 11 +- io_uring/filetable.h | 28 ++- io_uring/io_uring.c | 497 ++++++++++++++++++++++------------------- io_uring/io_uring.h | 17 +- io_uring/msg_ring.c | 4 +- io_uring/net.c | 58 ++--- io_uring/poll.c | 6 +- io_uring/poll.h | 2 + io_uring/rsrc.c | 8 +- io_uring/rw.c | 6 +- io_uring/rw.h | 1 + io_uring/tctx.c | 31 ++- io_uring/timeout.c | 6 +- io_uring/uring_cmd.c | 16 +- net/socket.c | 1 + 21 files changed, 416 insertions(+), 334 deletions(-) -- Jens Axboe