[GIT PULL] io_uring updates for 7.3

Jens Axboe <[email protected]>
Newsgroups org.kernel.vger.io-uring
Message-ID <[email protected]>
Hi Linus,

Trying to get back to a regular schedule again post the summer break,
but alas this PR is later than I like to do them. Still early in the
merge window, but I always try to have them out on Sunday/Monday.
Anyways, here are the io_uring changes queued for 7.3. On top of the
usual cleanups and fixes, the bigger items in here are:

- zcrx work, most of it centered around adding dynamic area
  provisioning, plus a bunch of prep and cleanups leading up to it:
  scale refilling with large pages, coalesce same-niov RQEs on refill,
  separate the RQ head/tail cache lines and cache the RQ tail, and
  rework the area creation locking.

- Fix the futex inflight accounting so that only private futex waits
  are marked inflight, and don't mark wake requests as inflight at all.

- Drop the custom iov copy in the buffer select prep and msg header
  copy paths, using the generic helpers instead.

- Fix a folio size overflow in io_vec_fill_bvec(), and account the
  pages a compound region really uses in the memmap path.

- Fix an iovec leak in uring_cmd when the async cmd isn't recycled,
  skip the blocking task work for io_uring_cmd_issue_blocking(), and
  don't skip completion for a synchronous multishot cmd

- Defer eventfd signaling when queued from a wakeup handler

- Fix io-wq worker accounting when canceling creation callbacks

- Annotate remote tasks for kcoverage

Note: you'll get a trivial merge conflict in
include/uapi/linux/io_uring/zcrx.h due to the rename changes that we
applied to 7.2 before this API was released, it was in the
io_uring-7.2-20260724 pull request I sent you.

Please pull!


The following changes since commit dc59e4fea9d83f03bad6bddf3fa2e52491777482:

  Linux 7.2-rc1 (2026-06-28 12:01:31 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-7.3/io_uring-20260819

for you to fetch changes up to 881dc9dd66d2367e7fe1be0f953a8837cb3b26a9:

  io_uring: Add missing include for ITER_SOURCE and ITER_DEST (2026-08-18 17:13:53 -0600)

----------------------------------------------------------------
for-7.3/io_uring-20260819

----------------------------------------------------------------
Ali Ahmet Memis (2):
      io_uring/rsrc: fix folio size overflow in io_vec_fill_bvec()
      io_uring/memmap: account the pages a compound region really uses

Caleb Sander Mateos (1):
      io_uring/uring_cmd: skip io_uring_cmd_issue_blocking() task work

Gabriel Krisman Bertazi (3):
      io_uring/rw: Drop custom iov copy in io_iov_buffer_select_prep
      io_uring/net: Drop custom iov copy in io_msg_copy_hdr
      io_uring/net: Drop ddir argument from io_msg_copy_hdr

Jens Axboe (4):
      io_uring/futex: don't mark futex wake requests as inflight
      io_uring/futex: only mark private futex waits as inflight
      io_uring: defer eventfd signaling when queued from a wakeup handler
      io_uring/uring_cmd: don't skip completion for a synchronous multishot cmd

Mark Brown (1):
      io_uring: Add missing include for ITER_SOURCE and ITER_DEST

Pavel Begunkov (16):
      io_uring/zcrx: scale refilling with large pages
      io_uring/zcrx: move RQ head/tail to separate cache lines
      io_uring/zcrx: add RQ iterator
      io_uring/zcrx: cache RQ tail
      io_uring/zcrx: coalesce same-niov RQEs on refill
      io_uring/zcrx: constify area_reg on import
      io_urint/zcrx: narrow var scope in io_zcrx_recv_skb()
      io_uring/zcrx: don't reload skb_shinfo
      io_uring/zcrx: add helper for deriving area token
      io_uring/zcrx: don't pass ifq_reg to area creation
      io_uring/zcrx: split dmabuf unmap and release
      io_uring/zcrx: unmap under netdev lock
      io_uring/zcrx: move freelist lock to struct zcrx
      io_uring/zcrx: keep array of areas
      io_uring/zcrx: lock area creation with pp_lock
      io_uring/zcrx: add dynamic area provisioning

Robert Femmer (1):
      io_uring: annotate remote tasks for kcoverage

Vishnu Razdan (1):
      io_uring/io-wq: fix worker accounting when canceling creation callbacks

Woraphat Khiaodaeng (1):
      io_uring/cmd: fix iovec leak when the async cmd is not recycled

 include/linux/io_uring_types.h     |  11 +
 include/uapi/linux/io_uring/zcrx.h |   7 +
 io_uring/eventfd.c                 |   8 +-
 io_uring/eventfd.h                 |   2 +-
 io_uring/futex.c                   |  32 ++-
 io_uring/futex.h                   |   1 +
 io_uring/io-wq.c                   |  14 +-
 io_uring/io_uring.c                |  17 +-
 io_uring/io_uring.h                |   2 +-
 io_uring/memmap.c                  |  37 +++-
 io_uring/net.c                     |  75 ++-----
 io_uring/opdef.c                   |   2 +-
 io_uring/poll.c                    |  23 ++-
 io_uring/query.c                   |   2 +-
 io_uring/rsrc.c                    |   2 +-
 io_uring/rw.c                      |  24 +--
 io_uring/sqpoll.c                  |   7 +-
 io_uring/tw.c                      |   2 +-
 io_uring/uring_cmd.c               |  10 +-
 io_uring/waitid.c                  |   2 +-
 io_uring/zcrx.c                    | 398 ++++++++++++++++++++++++++-----------
 io_uring/zcrx.h                    |  15 +-
 22 files changed, 448 insertions(+), 245 deletions(-)

-- 
Jens Axboe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.