[GIT PULL] io_uring updates for 6.6-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Here is the main pull request for io_uring changes for the 6.6 kernel
release. Fairly quiet round in terms of features, mostly just
improvements all over the map for existing code. In detail:

- Initial support for socket operations through io_uring. Latter half of
  this will likely land with the 6.7 kernel, then allowing things like
  get/setsockopt (Breno)

- Cleanup of the cancel code, and then adding support for canceling
  requests with the opcode as the key (me)

- Improvements for the io-wq locking (me)

- Fix affinity setting for SQPOLL based io-wq (me)

- Remove the io_uring userspace code. These were added initially as
  copies from liburing, but all of them have since bitrotted and are way
  out of date at this point. Rather than attempt to keep them in sync,
  just get rid of them. People will have liburing available anyway for
  these examples. (Pavel)

- Series improving the CQ/SQ ring caching (Pavel)

- Misc fixes and cleanups (Pavel, Yue, me)

Merges cleanly with the current master. Please pull!


The following changes since commit fdf0eaf11452d72945af31804e2a1048ee1b574c:

  Linux 6.5-rc2 (2023-07-16 15:10:37 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.6/io_uring-2023-08-28

for you to fetch changes up to 644c4a7a721fb90356cdd42219c9928a3c386230:

  io_uring: move iopoll ctx fields around (2023-08-24 17:16:20 -0600)

----------------------------------------------------------------
for-6.6/io_uring-2023-08-28

----------------------------------------------------------------
Breno Leitao (1):
      io_uring: Add io_uring command support for sockets

Jens Axboe (18):
      io_uring/poll: always set 'ctx' in io_cancel_data
      io_uring/timeout: always set 'ctx' in io_cancel_data
      io_uring/cancel: abstract out request match helper
      io_uring/cancel: fix sequence matching for IORING_ASYNC_CANCEL_ANY
      io_uring: use cancelation match helper for poll and timeout requests
      io_uring/cancel: add IORING_ASYNC_CANCEL_USERDATA
      io_uring/cancel: support opcode based lookup and cancelation
      io_uring/cancel: wire up IORING_ASYNC_CANCEL_OP for sync cancel
      io_uring: annotate the struct io_kiocb slab for appropriate user copy
      io_uring: cleanup 'ret' handling in io_iopoll_check()
      io_uring/fdinfo: get rid of ref tryget
      io_uring/splice: use fput() directly
      io_uring: have io_file_put() take an io_kiocb rather than the file
      io_uring: remove unnecessary forward declaration
      io_uring/io-wq: don't grab wq->lock for worker activation
      io_uring/io-wq: reduce frequency of acct->lock acquisitions
      io_uring/io-wq: don't gate worker wake up success on wake_up_process()
      io_uring/sqpoll: fix io-wq affinity when IORING_SETUP_SQPOLL is used

Kees Cook (1):
      io_uring/rsrc: Annotate struct io_mapped_ubuf with __counted_by

Pavel Begunkov (26):
      io_uring: fix drain stalls by invalid SQE
      io_uring: fix false positive KASAN warnings
      io_uring: kill io_uring userspace examples
      io_uring: break iopolling on signal
      io_uring/net: don't overflow multishot accept
      io_uring/net: don't overflow multishot recv
      io_uring: open code io_fill_cqe_req()
      io_uring: remove return from io_req_cqe_overflow()
      io_uring: never overflow io_aux_cqe
      io_uring/rsrc: keep one global dummy_ubuf
      io_uring: simplify io_run_task_work_sig return
      io_uring: improve cqe !tracing hot path
      io_uring: cqe init hardening
      io_uring: simplify big_cqe handling
      io_uring: refactor __io_get_cqe()
      io_uring: optimise extra io_get_cqe null check
      io_uring: reorder cqring_flush and wakeups
      io_uring: merge iopoll and normal completion paths
      io_uring: force inline io_fill_cqe_req
      io_uring: compact SQ/CQ heads/tails
      io_uring: add option to remove SQ indirection
      io_uring: move non aligned field to the end
      io_uring: banish non-hot data to end of io_ring_ctx
      io_uring: separate task_work/waiting cache line
      io_uring: move multishot cqe cache in ctx
      io_uring: move iopoll ctx fields around

Yue Haibing (1):
      io_uring/rsrc: Remove unused declaration io_rsrc_put_tw()

 MAINTAINERS                     |   1 -
 include/linux/io_uring.h        |   6 +
 include/linux/io_uring_types.h  | 129 ++++-----
 include/uapi/linux/io_uring.h   |  21 +-
 io_uring/cancel.c               |  60 +++-
 io_uring/cancel.h               |   3 +-
 io_uring/fdinfo.c               |  18 +-
 io_uring/io-wq.c                |  70 +++--
 io_uring/io-wq.h                |   2 +-
 io_uring/io_uring.c             | 225 ++++++++-------
 io_uring/io_uring.h             |  79 ++----
 io_uring/net.c                  |   8 +-
 io_uring/poll.c                 |  21 +-
 io_uring/rsrc.c                 |  14 +-
 io_uring/rsrc.h                 |   3 +-
 io_uring/rw.c                   |  24 +-
 io_uring/splice.c               |   4 +-
 io_uring/sqpoll.c               |  15 +
 io_uring/sqpoll.h               |   1 +
 io_uring/timeout.c              |  20 +-
 io_uring/uring_cmd.c            |  33 ++-
 net/socket.c                    |   2 +
 tools/io_uring/Makefile         |  18 --
 tools/io_uring/README           |  29 --
 tools/io_uring/barrier.h        |  16 --
 tools/io_uring/io_uring-bench.c | 592 ----------------------------------------
 tools/io_uring/io_uring-cp.c    | 283 -------------------
 tools/io_uring/liburing.h       | 187 -------------
 tools/io_uring/queue.c          | 156 -----------
 tools/io_uring/setup.c          | 107 --------
 tools/io_uring/syscall.c        |  52 ----
 31 files changed, 432 insertions(+), 1767 deletions(-)
 delete mode 100644 tools/io_uring/Makefile
 delete mode 100644 tools/io_uring/README
 delete mode 100644 tools/io_uring/barrier.h
 delete mode 100644 tools/io_uring/io_uring-bench.c
 delete mode 100644 tools/io_uring/io_uring-cp.c
 delete mode 100644 tools/io_uring/liburing.h
 delete mode 100644 tools/io_uring/queue.c
 delete mode 100644 tools/io_uring/setup.c
 delete mode 100644 tools/io_uring/syscall.c

-- 
Jens Axboe




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux