From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: io-uring <io-uring@vger.kernel.org>
Subject: [GIT PULL] io_uring updates for 6.16-rc1
Date: Fri, 23 May 2025 14:45:14 -0600 [thread overview]
Message-ID: <1849db19-119a-4b1f-8ed6-df861d7d9c8f@kernel.dk> (raw)
Hi Linus,
Here are the io_uring updated scheduled for the 6.16-rc1 kernel release.
Pretty quiet round this time, mostly just cleanups and fixes. This pull
request contains:
- Avoid indirect function calls in io-wq for executing and freeing work.
The design of io-wq is such that it can be a generic mechanism, but as
it's just used by io_uring now, may as well avoid these indirect
calls.
- Series cleaning up registered buffers for networking.
- Add support for IORING_OP_PIPE. Pretty straight forward, allows
creating pipes with io_uring, particularly useful for having these be
instantiated as direct descriptors.
- Series cleaning up the coalescing support fore registered buffers.
- Add support for multiple interface queues for zero-copy rx networking.
As this feature was merged for 6.15 it supported just a single ifq per
ring.
- Series cleaning up the eventfd support.
- Series adding dma-buf support to zero-copy rx.
- Series cleaning up and improving the request draining support.
- Series cleaning up provided buffer support, most notably with an eye
toward making the legacy support less intrusive.
- Minor fdinfo cleanups, dropping support for dumping what credentials
are registered.
- Improve support for overflow CQE handling, getting rid of GFP_ATOMIC
for allocating overflow entries where possible.
- Improve detection of cases where io-wq doesn't need to spawn a new
worker unnecessarily.
- Various little cleanups.
Please pull!
The following changes since commit d871198ee431d90f5308d53998c1ba1d5db5619a:
io_uring/fdinfo: grab ctx->uring_lock around io_uring_show_fdinfo() (2025-05-14 07:15:28 -0600)
are available in the Git repository at:
git://git.kernel.dk/linux.git tags/for-6.16/io_uring-20250523
for you to fetch changes up to 6faaf6e0faf1cc9a1359cfe6ecb4d9711b4a9f29:
io_uring/cmd: warn on reg buf imports by ineligible cmds (2025-05-23 06:31:06 -0600)
----------------------------------------------------------------
for-6.16/io_uring-20250523
----------------------------------------------------------------
Caleb Sander Mateos (2):
io_uring/wq: avoid indirect do_work/free_work calls
trace/io_uring: fix io_uring_local_work_run ctx documentation
Jens Axboe (13):
io_uring: add support for IORING_OP_PIPE
io_uring/rsrc: remove node assignment helpers
Merge branch 'io_uring-6.15' into for-6.16/io_uring
io_uring/fdinfo: only compile if CONFIG_PROC_FS is set
io_uring/fdinfo: get rid of dumping credentials
io_uring: split alloc and add of overflow
io_uring: make io_alloc_ocqe() take a struct io_cqe pointer
io_uring: pass in struct io_big_cqe to io_alloc_ocqe()
io_uring: add new helpers for posting overflows
io_uring: finish IOU_OK -> IOU_COMPLETE transition
io_uring/io-wq: move hash helpers to the top
io_uring/io-wq: ignore non-busy worker going to sleep
io_uring/io-wq: only create a new worker if it can make progress
Long Li (1):
io_uring: update parameter name in io_pin_pages function declaration
Pavel Begunkov (44):
io_uring/net: don't use io_do_buffer_select at prep
io_uring: set IMPORT_BUFFER in generic send setup
io_uring/kbuf: pass bgid to io_buffer_select()
io_uring: don't store bgid in req->buf_index
io_uring/rsrc: use unpin_user_folio
io_uring/rsrc: clean up io_coalesce_buffer()
io_uring/rsrc: remove null check on import
io_uring/zcrx: remove duplicated freelist init
io_uring/zcrx: move io_zcrx_iov_page
io_uring/zcrx: remove sqe->file_index check
io_uring/zcrx: let zcrx choose region for mmaping
io_uring/zcrx: move zcrx region to struct io_zcrx_ifq
io_uring/zcrx: add support for multiple ifqs
io_uring/eventfd: dedup signalling helpers
io_uring/eventfd: clean up rcu locking
io_uring/eventfd: open code io_eventfd_grab()
io_uring: delete misleading comment in io_fill_cqe_aux()
io_uring/cmd: move net cmd into a separate file
io_uring/zcrx: improve area validation
io_uring/zcrx: resolve netdev before area creation
io_uring/zcrx: split out memory holders from area
io_uring/zcrx: split common area map/unmap parts
io_uring/zcrx: dmabuf backed zerocopy receive
io_uring/timeout: don't export link t-out disarm helper
io_uring: remove io_preinit_req()
io_uring: move io_req_put_rsrc_nodes()
io_uring/net: move CONFIG_NET guards to Makefile
io_uring: add lockdep asserts to io_add_aux_cqe
io_uring: account drain memory to cgroup
io_uring: fix spurious drain flushing
io_uring: simplify drain ret passing
io_uring: remove drain prealloc checks
io_uring: consolidate drain seq checking
io_uring: open code io_account_cq_overflow()
io_uring: count allocated requests
io_uring: drain based on allocates reqs
io_uring/kbuf: account ring io_buffer_list memory
io_uring/kbuf: use mem_is_zero()
io_uring/kbuf: drop extra vars in io_register_pbuf_ring
io_uring/kbuf: don't compute size twice on prep
io_uring/kbuf: refactor __io_remove_buffers
io_uring/kbuf: unify legacy buf provision and removal
io_uring: open code io_req_cqe_overflow()
io_uring/cmd: warn on reg buf imports by ineligible cmds
include/linux/io_uring_types.h | 15 +-
include/trace/events/io_uring.h | 2 +-
include/uapi/linux/io_uring.h | 8 +-
io_uring/Makefile | 6 +-
io_uring/advise.c | 4 +-
io_uring/cancel.c | 2 +-
io_uring/cmd_net.c | 83 +++++++
io_uring/epoll.c | 4 +-
io_uring/eventfd.c | 66 ++----
io_uring/eventfd.h | 3 +-
io_uring/fdinfo.c | 40 ----
io_uring/fs.c | 10 +-
io_uring/futex.c | 6 +-
io_uring/io-wq.c | 65 ++++--
io_uring/io-wq.h | 5 -
io_uring/io_uring.c | 285 ++++++++++++------------
io_uring/io_uring.h | 4 +-
io_uring/kbuf.c | 148 +++++--------
io_uring/kbuf.h | 8 +-
io_uring/memmap.c | 11 +-
io_uring/memmap.h | 4 +-
io_uring/msg_ring.c | 2 +-
io_uring/net.c | 62 +++---
io_uring/nop.c | 2 +-
io_uring/notif.c | 1 +
io_uring/opdef.c | 11 +-
io_uring/openclose.c | 139 +++++++++++-
io_uring/openclose.h | 3 +
io_uring/poll.c | 4 +-
io_uring/rsrc.c | 91 ++++----
io_uring/rsrc.h | 28 +--
io_uring/rw.c | 7 +-
io_uring/rw.h | 2 +
io_uring/splice.c | 4 +-
io_uring/statx.c | 2 +-
io_uring/sync.c | 6 +-
io_uring/tctx.c | 2 -
io_uring/timeout.c | 13 +-
io_uring/timeout.h | 13 --
io_uring/truncate.c | 2 +-
io_uring/uring_cmd.c | 91 +-------
io_uring/waitid.c | 2 +-
io_uring/xattr.c | 8 +-
io_uring/zcrx.c | 372 +++++++++++++++++++++++++-------
io_uring/zcrx.h | 26 ++-
45 files changed, 958 insertions(+), 714 deletions(-)
--
Jens Axboe
next reply other threads:[~2025-05-23 20:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-23 20:45 Jens Axboe [this message]
2025-05-26 19:19 ` [GIT PULL] io_uring updates for 6.16-rc1 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1849db19-119a-4b1f-8ed6-df861d7d9c8f@kernel.dk \
--to=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox