[GIT PULL] io_uring updates for 6.1-rc1

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

 



Hi Linus,

Here are the io_uring updates and fixes that should go into this
release:

- Series that adds supported for more directly managed task_work
  running. This is beneficial for real world applications that end up
  issuing lots of system calls as part of handling work. Normal
  task_work will always execute as we transition in and out of the
  kernel, even for "unrelated" system calls. It's more efficient to
  defer the handling of io_uring's deferred work until the application
  wants it to be run, generally in batches. As part of ongoing work to
  write an io_uring network backend for Thrift, this has been shown to
  greatly improve performance. (Dylan)

- Series adding IOPOLL support for passthrough (Kanchan)

- Improvements and fixes to the send zero-copy support (Pavel)

- Partial IO handling fixes (Pavel)

- CQE ordering fixes around CQ ring overflow (Pavel)

- Support sendto() for non-zc as well (Pavel)

- Support sendmsg for zerocopy (Pavel)

- Networking iov_iter fix (Stefan)

- Misc fixes and cleanups (Pavel, me)

Please pull!


The following changes since commit 521a547ced6477c54b4b0cc206000406c221b4d6:

  Linux 6.0-rc6 (2022-09-18 13:44:14 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.1/io_uring-2022-10-03

for you to fetch changes up to 108893ddcc4d3aa0a4a02aeb02d478e997001227:

  io_uring/net: fix notif cqe reordering (2022-09-29 17:46:04 -0600)

----------------------------------------------------------------
for-6.1/io_uring-2022-10-03

----------------------------------------------------------------
Dylan Yudaken (9):
      eventfd: guard wake_up in eventfd fs calls as well
      io_uring: remove unnecessary variable
      io_uring: introduce io_has_work
      io_uring: do not run task work at the start of io_uring_enter
      io_uring: add IORING_SETUP_DEFER_TASKRUN
      io_uring: move io_eventfd_put
      io_uring: signal registered eventfd to process deferred task work
      io_uring: trace local task work run
      io_uring: allow buffer recycling in READV

Jens Axboe (9):
      io_uring: cleanly separate request types for iopoll
      io_uring: add local task_work run helper that is entered locked
      io_uring: ensure iopoll runs local task work as well
      fs: add batch and poll flags to the uring_cmd_iopoll() handler
      io_uring/fdinfo: get rid of unnecessary is_cqe32 variable
      io_uring/fdinfo: fix sqe dumping for IORING_SETUP_SQE128
      io_uring: ensure local task_work marks task as running
      io_uring/rw: defer fsnotify calls to task context
      io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL

Kanchan Joshi (4):
      fs: add file_operations->uring_cmd_iopoll
      io_uring: add iopoll infrastructure for io_uring_cmd
      block: export blk_rq_is_poll
      nvme: wire up async polling for io passthrough commands

Pavel Begunkov (33):
      io_uring: kill an outdated comment
      io_uring: use io_cq_lock consistently
      io_uring/net: reshuffle error handling
      io_uring/net: use async caches for async prep
      io_uring/net: io_async_msghdr caches for sendzc
      io_uring/net: add non-bvec sg chunking callback
      io_uring/net: refactor io_sr_msg types
      io_uring/net: use io_sr_msg for sendzc
      io_uring: further limit non-owner defer-tw cq waiting
      io_uring: disallow defer-tw run w/ no submitters
      io_uring/iopoll: fix unexpected returns
      io_uring/iopoll: unify tw breaking logic
      io_uring: add fast path for io_run_local_work()
      io_uring: remove unused return from io_disarm_next
      io_uring: add custom opcode hooks on fail
      io_uring/rw: don't lose partial IO result on fail
      io_uring/net: don't lose partial send/recv on fail
      io_uring/net: don't lose partial send_zc on fail
      io_uring/net: refactor io_setup_async_addr
      io_uring/net: support non-zerocopy sendto
      io_uring/net: rename io_sendzc()
      io_uring/net: combine fail handlers
      io_uring/net: zerocopy sendmsg
      selftest/net: adjust io_uring sendzc notif handling
      io_uring/net: fix UAF in io_sendrecv_fail()
      io_uring: fix CQE reordering
      io_uring/net: fix cleanup double free free_iov init
      io_uring/rw: fix unexpected link breakage
      io_uring/rw: don't lose short results on io_setup_async_rw()
      io_uring/net: don't skip notifs for failed requests
      io_uring/net: fix non-zc send with address
      io_uring/net: don't update msg_name if not provided
      io_uring/net: fix notif cqe reordering

Stefan Metzmacher (1):
      io_uring/net: fix fast_iov assignment in io_setup_async_msg()

 block/blk-mq.c                                     |   3 +-
 drivers/nvme/host/core.c                           |   1 +
 drivers/nvme/host/ioctl.c                          |  77 +++++-
 drivers/nvme/host/multipath.c                      |   1 +
 drivers/nvme/host/nvme.h                           |   4 +
 fs/eventfd.c                                       |  10 +-
 include/linux/blk-mq.h                             |   1 +
 include/linux/eventfd.h                            |   2 +-
 include/linux/fs.h                                 |   2 +
 include/linux/io_uring.h                           |   8 +-
 include/linux/io_uring_types.h                     |   4 +
 include/linux/sched.h                              |   2 +-
 include/trace/events/io_uring.h                    |  29 ++
 include/uapi/linux/io_uring.h                      |   8 +
 io_uring/cancel.c                                  |   2 +-
 io_uring/fdinfo.c                                  |  48 ++--
 io_uring/io_uring.c                                | 304 ++++++++++++++++----
 io_uring/io_uring.h                                |  62 ++++-
 io_uring/kbuf.h                                    |  12 -
 io_uring/net.c                                     | 308 +++++++++++++++------
 io_uring/net.h                                     |  12 +-
 io_uring/opdef.c                                   |  44 ++-
 io_uring/opdef.h                                   |   1 +
 io_uring/rsrc.c                                    |   2 +-
 io_uring/rw.c                                      | 189 +++++++------
 io_uring/rw.h                                      |   1 +
 io_uring/timeout.c                                 |  13 +-
 io_uring/timeout.h                                 |   2 +-
 io_uring/uring_cmd.c                               |  11 +-
 tools/testing/selftests/net/io_uring_zerocopy_tx.c |  22 +-
 30 files changed, 859 insertions(+), 326 deletions(-)

-- 
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