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.17-rc1
Date: Mon, 28 Jul 2025 07:02:58 -0600 [thread overview]
Message-ID: <1219f4d0-7014-43cc-8fae-26918089795f@kernel.dk> (raw)
Hi Linus,
Pretty quiet round this time around. This pull request contains:
- Optimization to avoid reference counts on non-cloned registered
buffers. This is how these buffers were handled prior to having
cloning support, and we can still use that approach as long as the
buffers haven't been cloned to another ring.
- Cleanup and improvement for uring_cmd, where btrfs was the only user
of storing allocated data for the lifetime of the uring_cmd. Clean
that up so we can get rid of the need to do that.
- Avoid unnecessary memory copies in uring_cmd usage. This is
particularly important as a lot of uring_cmd usage necessitates the
use of 128b SQEs.
- A few updates for recv multishot, where it's now possible to add
fairness limits for limiting how much is transferred for each retry
loop. Additionally, recv multishot now supports an overall cap as
well, where once reached the multishot recv will terminate. The latter
is useful for buffer management and juggling many recv streams at the
same time.
- Add support for returning the TX timestamps via a new socket command.
This feature can work in either singleshot or multishot mode, where
the latter triggers a completion whenever new timestamps are
available. This is an alternative to using the existing error queue.
- Add support for an io_uring "mock" file, which is the start of being
able to do 100% targeted testing in terms of exercising io_uring
request handling. The idea is to have a file type that can be anything
the tester would like, and behave exactly how you want it to behave in
terms of hitting the code paths you want.
- Improve zcrx by using sgtables to de-duplicate and improve dma address
handling.
- Prep work for supporting larger pages for zcrx.
- Various little improvements and fixes.
Please pull!
The following changes since commit 6f11adcc6f36ffd8f33dbdf5f5ce073368975bc3:
io_uring: gate REQ_F_ISREG on !S_ANON_INODE as well (2025-06-29 16:52:34 -0600)
are available in the Git repository at:
git://git.kernel.dk/linux.git tags/for-6.17/io_uring-20250728
for you to fetch changes up to d9f595b9a65e9c9eb03e21f3db98fde158d128db:
io_uring/zcrx: fix leaking pages on sg init fail (2025-07-21 06:47:45 -0600)
----------------------------------------------------------------
for-6.17/io_uring-20250728
----------------------------------------------------------------
Caleb Sander Mateos (4):
io_uring/rsrc: skip atomic refcount for uncloned buffers
io_uring/cmd: introduce IORING_URING_CMD_REISSUE flag
btrfs/ioctl: store btrfs_uring_encoded_data in io_btrfs_cmd
io_uring/cmd: remove struct io_uring_cmd_data
Jens Axboe (15):
io_uring: add IO_URING_F_INLINE issue flag
io_uring: add struct io_cold_def->sqe_copy() method
io_uring/uring_cmd: get rid of io_uring_cmd_prep_setup()
io_uring/uring_cmd: implement ->sqe_copy() to avoid unnecessary copies
io_uring/nop: add IORING_NOP_TW completion flag
Merge branch 'timestamp-for-jens' of https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next into for-6.17/io_uring
io_uring: remove errant ';' from IORING_CQE_F_TSTAMP_HW definition
Merge branch 'io_uring-6.16' into for-6.17/io_uring
io_uring/rw: cast rw->flags assignment to rwf_t
io_uring/net: use passed in 'len' in io_recv_buf_select()
io_uring/net: move io_sr_msg->retry_flags to io_sr_msg->flags
io_uring/net: allow multishot receive per-invocation cap
io_uring/poll: cleanup apoll freeing
io_uring/net: cast min_not_zero() type
io_uring: deduplicate wakeup handling
Norman Maurer (1):
io_uring/net: Support multishot receive len cap
Pavel Begunkov (23):
net: timestamp: add helper returning skb's tx tstamp
io_uring/poll: introduce io_arm_apoll()
io_uring/cmd: allow multishot polled commands
io_uring: add mshot helper for posting CQE32
io_uring/netcmd: add tx timestamping cmd support
io_uring/mock: add basic infra for test mock files
io_uring/mock: add cmd using vectored regbufs
io_uring/mock: add sync read/write
io_uring/mock: allow to choose FMODE_NOWAIT
io_uring/mock: support for async read/write
io_uring/mock: add trivial poll handler
io_uring: don't use int for ABI
io_uring/zcrx: always pass page to io_zcrx_copy_chunk
io_uring/zcrx: return error from io_zcrx_map_area_*
io_uring/zcrx: introduce io_populate_area_dma
io_uring/zcrx: allocate sgtable for umem areas
io_uring/zcrx: assert area type in io_zcrx_iov_page
io_uring/zcrx: prepare fallback for larger pages
io_uring: export io_[un]account_mem
io_uring/zcrx: account area memory
io_uring/zcrx: fix null ifq on area destruction
io_uring/zcrx: don't leak pages on account failure
io_uring/zcrx: fix leaking pages on sg init fail
Randy Dunlap (1):
io_uring: fix breakage in EXPERT menu
MAINTAINERS | 1 +
fs/btrfs/ioctl.c | 38 +++-
include/linux/io_uring/cmd.h | 11 +-
include/linux/io_uring_types.h | 5 +
include/net/sock.h | 4 +
include/uapi/linux/io_uring.h | 19 +-
include/uapi/linux/io_uring/mock_file.h | 47 +++++
init/Kconfig | 13 +-
io_uring/Makefile | 1 +
io_uring/cmd_net.c | 82 ++++++++
io_uring/io_uring.c | 90 ++++++--
io_uring/io_uring.h | 28 ++-
io_uring/mock_file.c | 363 ++++++++++++++++++++++++++++++++
io_uring/net.c | 79 +++++--
io_uring/nop.c | 8 +-
io_uring/opdef.c | 1 +
io_uring/opdef.h | 1 +
io_uring/poll.c | 44 ++--
io_uring/poll.h | 1 +
io_uring/rsrc.c | 10 +-
io_uring/rsrc.h | 2 +
io_uring/rw.c | 2 +-
io_uring/uring_cmd.c | 93 +++++---
io_uring/uring_cmd.h | 9 +-
io_uring/zcrx.c | 267 +++++++++++++----------
io_uring/zcrx.h | 2 +
net/socket.c | 46 ++++
27 files changed, 1029 insertions(+), 238 deletions(-)
--
Jens Axboe
next reply other threads:[~2025-07-28 13:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-28 13:02 Jens Axboe [this message]
2025-07-29 0:13 ` [GIT PULL] io_uring updates for 6.17-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=1219f4d0-7014-43cc-8fae-26918089795f@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