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