io-uring.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] io_uring changes for 5.11-rc
@ 2020-12-14 14:41 Jens Axboe
  2020-12-16 14:10 ` Jens Axboe
  2020-12-16 21:18 ` pr-tracker-bot
  0 siblings, 2 replies; 3+ messages in thread
From: Jens Axboe @ 2020-12-14 14:41 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: io-uring

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] io_uring changes for 5.11-rc
  2020-12-14 14:41 [GIT PULL] io_uring changes for 5.11-rc Jens Axboe
@ 2020-12-16 14:10 ` Jens Axboe
  2020-12-16 21:18 ` pr-tracker-bot
  1 sibling, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2020-12-16 14:10 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: io-uring

On 12/14/20 7:41 AM, Jens Axboe wrote:
> 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!

With the net branch pulled, this will now fail due to the changing
of sock_from_file. It'll merge cleanly, but you need to fix that
one up.

fs/io_uring.c: In function ‘io_shutdown’:
fs/io_uring.c:3784:9: error: too many arguments to function ‘sock_from_file’
 3784 |  sock = sock_from_file(req->file, &ret);
      |         ^~~~~~~~~~~~~~
In file included from fs/io_uring.c:63:
./include/linux/net.h:243:16: note: declared here
  243 | struct socket *sock_from_file(struct file *file);
      |                ^~~~~~~~~~~~~~
make[1]: *** [scripts/Makefile.build:279: fs/io_uring.o] Error 1

Like so:

 -	sock = sock_from_file(req->file, &ret);
++	sock = sock_from_file(req->file);
+ 	if (unlikely(!sock))
 -		return ret;
++		return -ENOTSOCK;

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] io_uring changes for 5.11-rc
  2020-12-14 14:41 [GIT PULL] io_uring changes for 5.11-rc Jens Axboe
  2020-12-16 14:10 ` Jens Axboe
@ 2020-12-16 21:18 ` pr-tracker-bot
  1 sibling, 0 replies; 3+ messages in thread
From: pr-tracker-bot @ 2020-12-16 21:18 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Linus Torvalds, io-uring

The pull request you sent on Mon, 14 Dec 2020 07:41:51 -0700:

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

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

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-16 21:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14 14:41 [GIT PULL] io_uring changes for 5.11-rc Jens Axboe
2020-12-16 14:10 ` Jens Axboe
2020-12-16 21:18 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).