public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
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


             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