[GIT PULL] io_uring updates for 6.9-rc1

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

 



Hi Linus,

Here are the io_uring changes queued for the 6.9 kernel release. This
pull request contains:

- Make running of task_work internal loops more fair, and unify how the
  different methods deal with them (me)

- Support for per-ring NAPI. The two minor networking patches are in a
  shared branch with netdev. (Stefan)

- Add support for truncate (Tony)

- Export SQPOLL utilization stats (Xiaobing)

- Multishot fixes (Pavel)

- Fix for a race in manipulating the request flags via poll (Pavel)

- Cleanup the multishot checking by making it generic, moving it out of
  opcode handlers (Pavel)

- Various tweaks and cleanups (me, Kunwu, Alexander)

Please pull!


The following changes since commit 54be6c6c5ae8e0d93a6c4641cb7528eb0b6ba478:

  Linux 6.8-rc3 (2024-02-04 12:20:36 +0000)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.9/io_uring-20240310

for you to fetch changes up to 606559dc4fa36a954a51fbf1c6c0cc320f551fe0:

  io_uring: Fix sqpoll utilization check racing with dying sqpoll (2024-03-09 07:27:09 -0700)

----------------------------------------------------------------
for-6.9/io_uring-20240310

----------------------------------------------------------------
Alexander Mikhalitsyn (1):
      io_uring: use file_mnt_idmap helper

Dan Carpenter (1):
      io_uring/net: fix overflow check in io_recvmsg_mshot_prep()

Gabriel Krisman Bertazi (1):
      io_uring: Fix sqpoll utilization check racing with dying sqpoll

Jens Axboe (34):
      io_uring: expand main struct io_kiocb flags to 64-bits
      io_uring/cancel: don't default to setting req->work.cancel_seq
      io_uring: add io_file_can_poll() helper
      io_uring: mark the need to lock/unlock the ring as unlikely
      io_uring: cleanup io_req_complete_post()
      io_uring/rw: remove dead file == NULL check
      io_uring/kbuf: cleanup passing back cflags
      io_uring: remove looping around handling traditional task_work
      io_uring: remove 'loops' argument from trace_io_uring_task_work_run()
      io_uring: handle traditional task_work in FIFO order
      io_uring: remove next io_kiocb fetch in task_work running
      io_uring: remove unconditional looping in local task_work handling
      io_uring/poll: improve readability of poll reference decrementing
      io_uring: cleanup handle_tw_list() calling convention
      io_uring: pass in counter to handle_tw_list() rather than return it
      io_uring/sqpoll: manage task_work privately
      io_uring: re-arrange struct io_ring_ctx to reduce padding
      Merge branch 'for-io_uring-add-napi-busy-polling-support' of git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux into for-6.9/io_uring
      io_uring/napi: ensure napi polling is aborted when work is available
      io_uring: wake SQPOLL task when task_work is added to an empty queue
      io_uring/sqpoll: use the correct check for pending task_work
      io_uring: kill stale comment for io_cqring_overflow_kill()
      io_uring/napi: enable even with a timeout of 0
      io_uring/net: unify how recvmsg and sendmsg copy in the msghdr
      io_uring/net: move receive multishot out of the generic msghdr path
      io_uring/net: improve the usercopy for sendmsg/recvmsg
      io_uring/kbuf: flag request if buffer pool is empty after buffer pick
      io_uring/net: move recv/recvmsg flags out of retry loop
      io_uring/net: clear REQ_F_BL_EMPTY in the multishot retry handler
      io_uring/net: correctly handle multishot recvmsg retry setup
      io_uring/net: remove dependency on REQ_F_PARTIAL_IO for sr->done_io
      io_uring/kbuf: rename REQ_F_PARTIAL_IO to REQ_F_BL_NO_RECYCLE
      io_uring/net: simplify msghd->msg_inq checking
      io_uring/net: add io_req_msg_cleanup() helper

Kuniyuki Iwashima (1):
      io_uring: Don't include af_unix.h.

Kunwu Chan (1):
      io_uring: Simplify the allocation of slab caches

Muhammad Usama Anjum (1):
      io_uring/net: correct the type of variable

Pavel Begunkov (5):
      io_uring: fix mshot read defer taskrun cqe posting
      io_uring: fix io_queue_proc modifying req->flags
      io_uring: fix mshot io-wq checks
      io_uring: refactor DEFER_TASKRUN multishot checks
      io_uring/net: dedup io_recv_finish req completion

Stefan Roesch (6):
      net: split off __napi_busy_poll from napi_busy_poll
      net: add napi_busy_loop_rcu()
      io-uring: move io_wait_queue definition to header file
      io-uring: add napi busy poll support
      io-uring: add sqpoll support for napi busy poll
      io_uring: add register/unregister napi function

Tony Solomonik (2):
      Add do_ftruncate that truncates a struct file
      io_uring: add support for ftruncate

Xiaobing Li (1):
      io_uring/sqpoll: statistics of the true utilization of sq threads

 fs/internal.h                   |   1 +
 fs/open.c                       |  53 +++---
 include/linux/io_uring_types.h  | 137 ++++++++------
 include/net/busy_poll.h         |   4 +
 include/trace/events/io_uring.h |  30 ++--
 include/uapi/linux/io_uring.h   |  13 ++
 io_uring/Makefile               |   3 +-
 io_uring/cancel.c               |   3 +-
 io_uring/cancel.h               |  10 ++
 io_uring/fdinfo.c               |  18 +-
 io_uring/filetable.h            |   2 +-
 io_uring/io_uring.c             | 249 +++++++++++++-------------
 io_uring/io_uring.h             |  77 +++++++-
 io_uring/kbuf.c                 |  35 ++--
 io_uring/kbuf.h                 |  61 ++++---
 io_uring/napi.c                 | 332 ++++++++++++++++++++++++++++++++++
 io_uring/napi.h                 | 104 +++++++++++
 io_uring/net.c                  | 382 +++++++++++++++++++++-------------------
 io_uring/opdef.c                |  10 ++
 io_uring/poll.c                 |  33 ++--
 io_uring/register.c             |  13 ++
 io_uring/rsrc.h                 |   2 -
 io_uring/rw.c                   |  13 +-
 io_uring/sqpoll.c               |  59 ++++++-
 io_uring/sqpoll.h               |   1 +
 io_uring/truncate.c             |  48 +++++
 io_uring/truncate.h             |   4 +
 io_uring/uring_cmd.c            |   1 +
 io_uring/xattr.c                |   2 +-
 net/core/dev.c                  |  57 ++++--
 30 files changed, 1253 insertions(+), 504 deletions(-)
 create mode 100644 io_uring/napi.c
 create mode 100644 io_uring/napi.h
 create mode 100644 io_uring/truncate.c
 create mode 100644 io_uring/truncate.h

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