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.19-rc1
Date: Mon, 1 Dec 2025 08:51:46 -0700 [thread overview]
Message-ID: <973ff83d-995b-4b0a-a800-3941aa0082ef@kernel.dk> (raw)
Hi Linus,
Here are the io_uring changes queued for the 6.19 kernel release. This
pull request contains:
- Unify how task_work cancelations are detected, placing it in the
task_work running state rather than needing to check the task state.
- Series cleaning up and moving the cancelation code to where it
belongs, in cancel.c.
- Cleanup of waitid argument handling.
- Cleanup of futex argument handling.
- Add support for mixed sized SQEs. 6.18 added support for mixed sized
CQEs, improving flexibility and efficiency of workloads that need big
CQEs. This adds similar support for SQEs, where the occasional need
for a 128b SQE doesn't necessitate having all SQEs be 128b in size.
- Introduce zcrx and SQ/CQ layout queries. The former returns what zcrx
features are available. And both return the ring size information to
help with allocation size calculation for user provided rings like
IORING_SETUP_NO_MMAP and IORING_MEM_REGION_TYPE_USER
- Zcrx updates for 6.19. It includes a bunch of small patches,
IORING_REGISTER_ZCRX_CTRL and RQ flushing and David's work on sharing
zcrx b/w multiple io_uring instances.
- Series cleaning up ring initializations, notable deduplicating ring
size and offset calculations. It also moves most of the checking
before doing any allocations, making the code simpler.
- Add support for getsockname and getpeername, which is mostly a trivial
hookup after a bit of refactoring on the networking side.
- Various fixes and cleanups.
Please pull!
The following changes since commit 2d0e88f3fd1dcb37072d499c36162baf5b009d41:
io_uring/rsrc: don't use blk_rq_nr_phys_segments() as number of bvecs (2025-11-12 08:25:33 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-6.19/io_uring-20251201
for you to fetch changes up to 5d24321e4c159088604512d7a5c5cf634d23e01a:
io_uring: Introduce getsockname io_uring cmd (2025-11-26 13:45:23 -0700)
----------------------------------------------------------------
for-6.19/io_uring-20251201
----------------------------------------------------------------
Alok Tiwari (1):
io_uring: fix typos and comment wording
Caleb Sander Mateos (5):
io_uring: only call io_should_terminate_tw() once for ctx
io_uring: add wrapper type for io_req_tw_func_t arg
io_uring/uring_cmd: avoid double indirect call in task work dispatch
io_uring/memmap: return bool from io_mem_alloc_compound()
io_uring/query: drop unused io_handle_query_entry() ctx arg
David Wei (12):
io_uring/memmap: remove unneeded io_ring_ctx arg
io_uring/memmap: refactor io_free_region() to take user_struct param
io_uring/rsrc: refactor io_{un}account_mem() to take {user,mm}_struct param
io_uring/zcrx: add io_zcrx_ifq arg to io_zcrx_free_area()
io_uring/zcrx: add user_struct and mm_struct to io_zcrx_ifq
io_uring/zcrx: move io_unregister_zcrx_ifqs() down
io_uring/zcrx: reverse ifq refcount
net: export netdev_get_by_index_lock()
io_uring/zcrx: call netdev_queue_get_dma_dev() under instance lock
io_uring/zcrx: move io_zcrx_scrub() and dependencies up
io_uring/zcrx: add io_fill_zcrx_offsets()
io_uring/zcrx: share an ifq between rings
Gabriel Krisman Bertazi (3):
socket: Unify getsockname and getpeername implementation
socket: Split out a getsockname helper for io_uring
io_uring: Introduce getsockname io_uring cmd
Jens Axboe (17):
io_uring: unify task_work cancelation checks
io_uring/waitid: have io_waitid_complete() remove wait queue entry
io_uring/waitid: use io_waitid_remove_wq() consistently
io_uring/fdinfo: cap SQ iteration at max SQ entries
io_uring/fdinfo: validate opcode before checking if it's an 128b one
io_uring/slist: remove unused wq list splice helpers
io_uring/rsrc: use get/put_user() for integer copy
io_uring/memmap: remove dead io_create_region_mmap_safe() declaration
io_uring/cancel: move request/task cancelation logic into cancel.c
io_uring/cancel: move __io_uring_cancel() into cancel.c
io_uring/cancel: move cancelation code from io_uring.c to cancel.c
io_uring/futex: move futexv async data handling to struct io_futexv_data
io_uring/futex: move futexv owned status to struct io_futexv_data
Merge branch 'io_uring-6.18' into for-6.19/io_uring
Merge branch 'zcrx-query-6.19' into for-6.19/io_uring
Merge branch 'zcrx-updates-6.19' into for-6.19/io_uring
io_uring/register: use correct location for io_rings_layout
Joanne Koong (1):
io_uring/kbuf: remove obsolete buf_nr_pages and update comments
Keith Busch (2):
io_uring: add support for IORING_SETUP_SQE_MIXED
io_uring/fdinfo: show SQEs for no array setup
Pavel Begunkov (29):
io_uring: deduplicate array_size in io_allocate_scq_urings
io_uring: sanity check sizes before attempting allocation
io_uring: use no mmap safe region helpers on resizing
io_uring: remove extra args from io_register_free_rings
io_uring: don't free never created regions
io_uring/kbuf: use io_create_region for kbuf creation
io_uring: only publish fully handled mem region
io_uring: check for user passing 0 nr_submit
io_uring: use WRITE_ONCE for user shared memory
io_uring/query: buffer size calculations with a union
io_uring: add helper calculating region byte size
io_uring: pass sq entries in the params struct
io_uring: use mem_is_zero to check ring params
io_uring: move flags check to io_uring_sanitise_params
io_uring: refactor rings_size nosqarray handling
io_uring: use size_add helpers for ring offsets
io_uring: convert params to pointer in ring reisze
io_uring: introduce struct io_ctx_config
io_uring: keep ring laoyut in a structure
io_uring: pre-calculate scq layout
io_uring: move cq/sq user offset init around
io_uring/query: introduce zcrx query
io_uring/query: introduce rings info query
io_uring/zcrx: convert to use netmem_desc
io_uring/zcrx: elide passing msg flags
io_uring/zcrx: introduce IORING_REGISTER_ZCRX_CTRL
io_uring/zcrx: add sync refill queue flushing
io_uring/zcrx: count zcrx users
io_uring/zcrx: export zcrx via a file
Pedro Demarchi Gomes (1):
io_uring/zcrx: use folio_nr_pages() instead of shift operation
block/ioctl.c | 6 +-
drivers/block/ublk_drv.c | 22 +-
drivers/nvme/host/ioctl.c | 7 +-
fs/btrfs/ioctl.c | 5 +-
fs/fuse/dev_uring.c | 7 +-
include/linux/io_uring/cmd.h | 22 +-
include/linux/io_uring_types.h | 12 +-
include/linux/netdevice.h | 1 +
include/linux/socket.h | 6 +-
include/uapi/linux/io_uring.h | 43 +++
include/uapi/linux/io_uring/query.h | 24 ++
io_uring/cancel.c | 270 ++++++++++++++
io_uring/cancel.h | 8 +-
io_uring/cmd_net.c | 22 ++
io_uring/fdinfo.c | 37 +-
io_uring/futex.c | 57 +--
io_uring/io_uring.c | 547 ++++++++--------------------
io_uring/io_uring.h | 63 ++--
io_uring/kbuf.c | 6 +-
io_uring/kbuf.h | 5 +-
io_uring/memmap.c | 59 +--
io_uring/memmap.h | 24 +-
io_uring/msg_ring.c | 3 +-
io_uring/net.c | 7 +-
io_uring/notif.c | 7 +-
io_uring/opdef.c | 26 ++
io_uring/opdef.h | 2 +
io_uring/poll.c | 13 +-
io_uring/poll.h | 2 +-
io_uring/query.c | 55 ++-
io_uring/query.h | 2 +-
io_uring/register.c | 105 +++---
io_uring/rsrc.c | 30 +-
io_uring/rsrc.h | 6 +-
io_uring/rw.c | 11 +-
io_uring/rw.h | 2 +-
io_uring/slist.h | 18 -
io_uring/sqpoll.c | 1 +
io_uring/timeout.c | 20 +-
io_uring/uring_cmd.c | 34 +-
io_uring/waitid.c | 48 ++-
io_uring/zcrx.c | 421 ++++++++++++++++-----
io_uring/zcrx.h | 16 +-
net/compat.c | 4 +-
net/core/dev.h | 1 -
net/socket.c | 67 ++--
46 files changed, 1298 insertions(+), 856 deletions(-)
--
Jens Axboe
next reply other threads:[~2025-12-01 15:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 15:51 Jens Axboe [this message]
2025-12-04 4:01 ` [GIT PULL] io_uring updates for 6.19-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=973ff83d-995b-4b0a-a800-3941aa0082ef@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