public inbox for [email protected]
 help / color / mirror / Atom feed
From: Jens Axboe <[email protected]>
To: Linus Torvalds <[email protected]>
Cc: io-uring <[email protected]>
Subject: [GIT PULL] io_uring updates for 6.12-rc1
Date: Fri, 13 Sep 2024 11:02:06 -0600	[thread overview]
Message-ID: <[email protected]> (raw)

Hi Linus,

Here are the main io_uring changes for the 6.12 merge window. There will
be a followup one that adds discard support, but since that depends on
both this branch and the block branch, it'll be sent post both of those.

This pull request contains:

- NAPI fixes and cleanups (Pavel, Olivier)

- Add support for absolute timeouts (Pavel)

- Fixes for io-wq/sqpoll affinities (Felix)

- Efficiency improvements for dealing with huge pages (Chenliang)

- Support for a minwait mode, where the application essentially has two
  timouts - one smaller one that defines the batch timeout, and the
  overall large one similar to what we had before. This enables
  efficient use of batching based on count + timeout, while still working
  well with periods of less intensive workloads.

- Use ITER_UBUF for single segment sends

- Add support for incremental buffer consumption. Right now each
  operation will always consume a full buffer. With incremental
  consumption, a recv/read operation only consumes the part of the
  buffer that it needs to satisfy the operation.

- Add support for GCOV for io_uring, to help retain a high coverage of
  test to code ratio.

- Fix regression with ocfs2, where an odd -EOPNOTSUPP wasn't correctly
  converted to a blocking retry.

- Add support for cloning registered buffers from one ring to another.

- Misc cleanups (Anuj, me)

Please pull!


The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37:

  Linux 6.11-rc5 (2024-08-25 19:07:11 +1200)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.12/io_uring-20240913

for you to fetch changes up to 7cc2a6eadcd7a5aa36ac63e6659f5c6138c7f4d2:

  io_uring: add IORING_REGISTER_COPY_BUFFERS method (2024-09-12 10:14:15 -0600)

----------------------------------------------------------------
for-6.12/io_uring-20240913

----------------------------------------------------------------
Anuj Gupta (2):
      io_uring: add new line after variable declaration
      io_uring: remove unused rsrc_put_fn

Chenliang Li (2):
      io_uring/rsrc: store folio shift and mask into imu
      io_uring/rsrc: enable multi-hugepage buffer coalescing

Felix Moessbauer (3):
      io_uring/sqpoll: do not allow pinning outside of cpuset
      io_uring/io-wq: do not allow pinning outside of cpuset
      io_uring/io-wq: inherit cpuset of cgroup in io worker

Jens Axboe (22):
      io_uring/kbuf: use 'bl' directly rather than req->buf_list
      io_uring/net: use ITER_UBUF for single segment send maps
      io_uring/kbuf: turn io_buffer_list booleans into flags
      io_uring: encapsulate extraneous wait flags into a separate struct
      io_uring: move schedule wait logic into helper
      io_uring: implement our own schedule timeout handling
      io_uring: add support for batch wait timeout
      io_uring: wire up min batch wake timeout
      io_uring/kbuf: shrink nr_iovs/mode in struct buf_sel_arg
      io_uring/kbuf: add io_kbuf_commit() helper
      io_uring/kbuf: move io_ring_head_to_buf() to kbuf.h
      Revert "io_uring: Require zeroed sqe->len on provided-buffers send"
      io_uring/kbuf: pass in 'len' argument for buffer commit
      io_uring/kbuf: add support for incremental buffer consumption
      io_uring: add GCOV_PROFILE_URING Kconfig option
      io_uring/eventfd: move refs to refcount_t
      io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN
      io_uring/rw: drop -EOPNOTSUPP check in __io_complete_rw_common()
      io_uring/rsrc: clear 'slot' entry upfront
      io_uring/rsrc: add reference count to struct io_mapped_ubuf
      io_uring/register: provide helper to get io_ring_ctx from 'fd'
      io_uring: add IORING_REGISTER_COPY_BUFFERS method

Olivier Langlois (2):
      io_uring: add napi busy settings to the fdinfo output
      io_uring: micro optimization of __io_sq_thread() condition

Pavel Begunkov (4):
      io_uring/napi: refactor __io_napi_busy_loop()
      io_uring/napi: postpone napi timeout adjustment
      io_uring: add absolute mode wait timeouts
      io_uring: user registered clockid for wait timeouts

 include/linux/io_uring_types.h |   3 +
 include/uapi/linux/io_uring.h  |  42 ++++++-
 init/Kconfig                   |  13 +++
 io_uring/Makefile              |   4 +
 io_uring/eventfd.c             |  13 ++-
 io_uring/fdinfo.c              |  14 ++-
 io_uring/io-wq.c               |  25 ++++-
 io_uring/io_uring.c            | 212 ++++++++++++++++++++++++++---------
 io_uring/io_uring.h            |  12 ++
 io_uring/kbuf.c                |  96 ++++++++--------
 io_uring/kbuf.h                |  94 +++++++++++-----
 io_uring/napi.c                |  35 ++----
 io_uring/napi.h                |  16 ---
 io_uring/net.c                 |  27 +++--
 io_uring/register.c            |  91 +++++++++++----
 io_uring/register.h            |   1 +
 io_uring/rsrc.c                | 245 ++++++++++++++++++++++++++++++++++-------
 io_uring/rsrc.h                |  14 ++-
 io_uring/rw.c                  |  19 +++-
 io_uring/sqpoll.c              |   7 +-
 20 files changed, 723 insertions(+), 260 deletions(-)

-- 
Jens Axboe


             reply	other threads:[~2024-09-13 17:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-13 17:02 Jens Axboe [this message]
2024-09-16 11:59 ` [GIT PULL] io_uring updates for 6.12-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 \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /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