[GIT PULL] io_uring changes for 5.11-rc

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

 



Hi Linus,

Fairly light set of changes this time around, and mostly some bits that
were pushed out to 5.11 instead of 5.10, fixes/cleanups, and a few
features. In particular:

- Cleanups around iovec import (David Laight, Pavel)

- Add timeout support for io_uring_enter(2), which enables us to clean
  up liburing and avoid a timeout sqe submission in the completion path.
  The big win here is that it allows setups that split SQ and CQ
  handling into separate threads to avoid locking, as the CQ side will
  no longer submit when timeouts are needed when waiting for events.
  (Hao Xu)

- Add support for socket shutdown, and renameat/unlinkat.

- SQPOLL cleanups and improvements (Xiaoguang Wang)

- Allow SQPOLL setups for CAP_SYS_NICE, and enable regular (non-fixed)
  files to be used.

- Cancelation improvements (Pavel)

- Fixed file reference improvements (Pavel)

- IOPOLL related race fixes (Pavel)

- Lots of other little fixes and cleanups (mostly Pavel)

Please pull!


The following changes since commit 418baf2c28f3473039f2f7377760bd8f6897ae18:

  Linux 5.10-rc5 (2020-11-22 15:36:08 -0800)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/for-5.11/io_uring-2020-12-14

for you to fetch changes up to 59850d226e4907a6f37c1d2fe5ba97546a8691a4:

  io_uring: fix io_cqring_events()'s noflush (2020-12-09 12:04:02 -0700)

----------------------------------------------------------------
for-5.11/io_uring-2020-12-14

----------------------------------------------------------------
David Laight (1):
      fs/io_uring Don't use the return value from import_iovec().

Hao Xu (1):
      io_uring: add timeout support for io_uring_enter()

Jens Axboe (10):
      io_uring: allow SQPOLL with CAP_SYS_NICE privileges
      net: provide __sys_shutdown_sock() that takes a socket
      io_uring: add support for shutdown(2)
      io_uring: allow non-fixed files with SQPOLL
      io_uring: enable file table usage for SQPOLL rings
      fs: make do_renameat2() take struct filename
      io_uring: add support for IORING_OP_RENAMEAT
      io_uring: add support for IORING_OP_UNLINKAT
      io_uring: only plug when appropriate
      io_uring: use bottom half safe lock for fixed file data

Pavel Begunkov (25):
      io_uring: split poll and poll_remove structs
      io_uring: track link's head and tail during submit
      io_uring: track link timeout's master explicitly
      io_uring: link requests with singly linked list
      io_uring: rearrange io_kiocb fields for better caching
      io_uring: NULL files dereference by SQPOLL
      io_uring: remove duplicated io_size from rw
      io_uring: inline io_import_iovec()
      io_uring: simplify io_task_match()
      io_uring: add a {task,files} pair matching helper
      io_uring: cancel only requests of current task
      io_uring: don't iterate io_uring_cancel_files()
      io_uring: pass files into kill timeouts/poll
      io_uring: always batch cancel in *cancel_files()
      io_uring: don't take fs for recvmsg/sendmsg
      io_uring: replace inflight_wait with tctx->wait
      io_uring: share fixed_file_refs b/w multiple rsrcs
      io_uring: change submit file state invariant
      io_uring: fix miscounting ios_left
      io_uring: fix files cancellation
      io_uring: restructure io_timeout_cancel()
      io_uring: add timeout update
      io_uring: fix racy IOPOLL completions
      io_uring: fix racy IOPOLL flush overflow
      io_uring: fix io_cqring_events()'s noflush

Xiaoguang Wang (6):
      io_uring: refactor io_sq_thread() handling
      io_uring: initialize 'timeout' properly in io_sq_thread()
      io_uring: don't acquire uring_lock twice
      io_uring: only wake up sq thread while current task is in io worker context
      io_uring: check kthread stopped flag when sq thread is unparked
      io_uring: always let io_iopoll_complete() complete polled io

 fs/internal.h                 |    2 +
 fs/io-wq.c                    |   10 -
 fs/io-wq.h                    |    1 -
 fs/io_uring.c                 | 1333 ++++++++++++++++++++++++-----------------
 fs/namei.c                    |   40 +-
 include/linux/socket.h        |    1 +
 include/linux/syscalls.h      |    2 +-
 include/uapi/linux/io_uring.h |   16 +
 net/socket.c                  |   15 +-
 9 files changed, 827 insertions(+), 593 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