mbox series

[GIT,PULL] io_uring updates for 6.11-rc1

Message ID 5e5b2431-dd9b-488e-a0c9-578008e14208@kernel.dk (mailing list archive)
State New
Headers show
Series [GIT,PULL] io_uring updates for 6.11-rc1 | expand

Pull-request

git://git.kernel.dk/linux.git tags/for-6.11/io_uring-20240711

Message

Jens Axboe July 12, 2024, 5:43 a.m. UTC
Hi Linus,

Sending this one early as I'm out on vacation.

Here are the io_uring updates queued up for the 6.11 merge window.
Nothing major this time around, various minor improvements and
cleanups/fixes. This pull request contains:

- Add bind/listen opcodes. Main motivation is to support direct
  descriptors, to avoid needing a regular fd just for doing these two
  operations (Gabriel)

- Probe fixes (Gabriel)

- Treat io-wq work flags as atomics. Not fixing a real issue, but may
  as well and it silences a KCSAN warning (me)

- Cleanup of rsrc __set_current_state() usage (me)

- Add 64-bit for {m,f}advise operations (me)

- Improve performance of data ring messages (me)

- Fix for ring message overflow posting (Pavel)

- Fix for freezer interaction with TWA_NOTIFY_SIGNAL. Not strictly an
  io_uring thing, but since TWA_NOTIFY_SIGNAL was originally added for
  faster task_work signaling for io_uring, bundling it with this pull.
  (Pavel)

- Add Pavel as a co-maintainer

- Various cleanups (me, Thorsten)

Please pull!


The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.11/io_uring-20240711

for you to fetch changes up to 943ad0b62e3c21f324c4884caa6cb4a871bca05c:

  kernel: rerun task_work while freezing in get_signal() (2024-07-11 01:51:44 -0600)

----------------------------------------------------------------
for-6.11/io_uring-20240711

----------------------------------------------------------------
Gabriel Krisman Bertazi (8):
      io_uring: Drop per-ctx dummy_ubuf
      io_uring/rsrc: Drop io_copy_iov in favor of iovec API
      net: Split a __sys_bind helper for io_uring
      net: Split a __sys_listen helper for io_uring
      io_uring: Introduce IORING_OP_BIND
      io_uring: Introduce IORING_OP_LISTEN
      io_uring: Fix probe of disabled operations
      io_uring: Allocate only necessary memory in io_probe

Jens Axboe (15):
      io_uring/eventfd: move to more idiomatic RCU free usage
      io_uring/eventfd: move eventfd handling to separate file
      io_uring: use 'state' consistently
      io_uring/io-wq: make io_wq_work flags atomic
      io_uring/rsrc: remove redundant __set_current_state() post schedule()
      io_uring/advise: support 64-bit lengths
      io_uring/msg_ring: tighten requirement for remote posting
      io_uring: add remote task_work execution helper
      io_uring: add io_add_aux_cqe() helper
      io_uring/msg_ring: improve handling of target CQE posting
      io_uring/msg_ring: add an alloc cache for io_kiocb entries
      io_uring/msg_ring: check for dead submitter task
      io_uring/msg_ring: use kmem_cache_free() to free request
      MAINTAINERS: change Pavel Begunkov from io_uring reviewer to maintainer
      io_uring/net: cleanup io_recv_finish() bundle handling

Pavel Begunkov (3):
      io_uring/msg_ring: fix overflow posting
      io_uring/io-wq: limit retrying worker initialisation
      kernel: rerun task_work while freezing in get_signal()

Thorsten Blum (1):
      io_uring/napi: Remove unnecessary s64 cast

 MAINTAINERS                    |   2 +-
 include/linux/io_uring_types.h |  14 ++--
 include/linux/socket.h         |   3 +
 include/uapi/linux/io_uring.h  |   2 +
 io_uring/Makefile              |   6 +-
 io_uring/advise.c              |  16 +++--
 io_uring/eventfd.c             | 160 +++++++++++++++++++++++++++++++++++++++++
 io_uring/eventfd.h             |   8 +++
 io_uring/io-wq.c               |  29 ++++----
 io_uring/io-wq.h               |   2 +-
 io_uring/io_uring.c            | 150 ++++++++++++++------------------------
 io_uring/io_uring.h            |   9 +--
 io_uring/msg_ring.c            | 122 +++++++++++++++++++------------
 io_uring/msg_ring.h            |   1 +
 io_uring/napi.c                |   2 +-
 io_uring/net.c                 |  84 +++++++++++++++++++---
 io_uring/net.h                 |   6 ++
 io_uring/opdef.c               |  34 +++++++++
 io_uring/opdef.h               |   4 +-
 io_uring/register.c            |  65 ++---------------
 io_uring/rsrc.c                |  63 ++++++----------
 kernel/signal.c                |   8 +++
 net/socket.c                   |  48 ++++++++-----
 23 files changed, 528 insertions(+), 310 deletions(-)
 create mode 100644 io_uring/eventfd.c
 create mode 100644 io_uring/eventfd.h

Comments

Jens Axboe July 14, 2024, 7:50 a.m. UTC | #1
On 7/11/24 11:43 PM, Jens Axboe wrote:
> Hi Linus,
> 
> Sending this one early as I'm out on vacation.
> 
> Here are the io_uring updates queued up for the 6.11 merge window.
> Nothing major this time around, various minor improvements and
> cleanups/fixes. This pull request contains:
> 
> - Add bind/listen opcodes. Main motivation is to support direct
>   descriptors, to avoid needing a regular fd just for doing these two
>   operations (Gabriel)
> 
> - Probe fixes (Gabriel)
> 
> - Treat io-wq work flags as atomics. Not fixing a real issue, but may
>   as well and it silences a KCSAN warning (me)
> 
> - Cleanup of rsrc __set_current_state() usage (me)
> 
> - Add 64-bit for {m,f}advise operations (me)
> 
> - Improve performance of data ring messages (me)
> 
> - Fix for ring message overflow posting (Pavel)
> 
> - Fix for freezer interaction with TWA_NOTIFY_SIGNAL. Not strictly an
>   io_uring thing, but since TWA_NOTIFY_SIGNAL was originally added for
>   faster task_work signaling for io_uring, bundling it with this pull.
>   (Pavel)
> 
> - Add Pavel as a co-maintainer
> 
> - Various cleanups (me, Thorsten)
> 
> Please pull!

Added one more patch to fix an issue with the bind/listen additions
mentioned above, otherwise no other changes. Updated git pull request
details below:
 
The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.11/io_uring-20240714

for you to fetch changes up to ad00e629145b2b9f0d78aa46e204a9df7d628978:

  io_uring/net: check socket is valid in io_bind()/io_listen() (2024-07-13 06:40:15 -0600)

----------------------------------------------------------------
for-6.11/io_uring-20240714

----------------------------------------------------------------
Gabriel Krisman Bertazi (8):
      io_uring: Drop per-ctx dummy_ubuf
      io_uring/rsrc: Drop io_copy_iov in favor of iovec API
      net: Split a __sys_bind helper for io_uring
      net: Split a __sys_listen helper for io_uring
      io_uring: Introduce IORING_OP_BIND
      io_uring: Introduce IORING_OP_LISTEN
      io_uring: Fix probe of disabled operations
      io_uring: Allocate only necessary memory in io_probe

Jens Axboe (15):
      io_uring/eventfd: move to more idiomatic RCU free usage
      io_uring/eventfd: move eventfd handling to separate file
      io_uring: use 'state' consistently
      io_uring/io-wq: make io_wq_work flags atomic
      io_uring/rsrc: remove redundant __set_current_state() post schedule()
      io_uring/advise: support 64-bit lengths
      io_uring/msg_ring: tighten requirement for remote posting
      io_uring: add remote task_work execution helper
      io_uring: add io_add_aux_cqe() helper
      io_uring/msg_ring: improve handling of target CQE posting
      io_uring/msg_ring: add an alloc cache for io_kiocb entries
      io_uring/msg_ring: check for dead submitter task
      io_uring/msg_ring: use kmem_cache_free() to free request
      MAINTAINERS: change Pavel Begunkov from io_uring reviewer to maintainer
      io_uring/net: cleanup io_recv_finish() bundle handling

Pavel Begunkov (3):
      io_uring/msg_ring: fix overflow posting
      io_uring/io-wq: limit retrying worker initialisation
      kernel: rerun task_work while freezing in get_signal()

Tetsuo Handa (1):
      io_uring/net: check socket is valid in io_bind()/io_listen()

Thorsten Blum (1):
      io_uring/napi: Remove unnecessary s64 cast

 MAINTAINERS                    |   2 +-
 include/linux/io_uring_types.h |  14 ++--
 include/linux/socket.h         |   3 +
 include/uapi/linux/io_uring.h  |   2 +
 io_uring/Makefile              |   6 +-
 io_uring/advise.c              |  16 +++--
 io_uring/eventfd.c             | 160 +++++++++++++++++++++++++++++++++++++++++
 io_uring/eventfd.h             |   8 +++
 io_uring/io-wq.c               |  29 ++++----
 io_uring/io-wq.h               |   2 +-
 io_uring/io_uring.c            | 150 ++++++++++++++------------------------
 io_uring/io_uring.h            |   9 +--
 io_uring/msg_ring.c            | 122 +++++++++++++++++++------------
 io_uring/msg_ring.h            |   1 +
 io_uring/napi.c                |   2 +-
 io_uring/net.c                 |  94 +++++++++++++++++++++---
 io_uring/net.h                 |   6 ++
 io_uring/opdef.c               |  34 +++++++++
 io_uring/opdef.h               |   4 +-
 io_uring/register.c            |  65 ++---------------
 io_uring/rsrc.c                |  63 ++++++----------
 kernel/signal.c                |   8 +++
 net/socket.c                   |  48 ++++++++-----
 23 files changed, 538 insertions(+), 310 deletions(-)
 create mode 100644 io_uring/eventfd.c
 create mode 100644 io_uring/eventfd.h
pr-tracker-bot@kernel.org July 15, 2024, 9:35 p.m. UTC | #2
The pull request you sent on Thu, 11 Jul 2024 23:43:36 -0600:

> git://git.kernel.dk/linux.git tags/for-6.11/io_uring-20240711

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ad00e629145b2b9f0d78aa46e204a9df7d628978

Thank you!
pr-tracker-bot@kernel.org July 15, 2024, 9:35 p.m. UTC | #3
The pull request you sent on Sun, 14 Jul 2024 01:50:16 -0600:

> git://git.kernel.dk/linux.git tags/for-6.11/io_uring-20240714

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/3a56e241732975c2c1247047ddbfc0ac6f6a4905

Thank you!