2020-04-17 15:18:16

by Jens Axboe

[permalink] [raw]
Subject: [GIT PULL] io_uring fixes for 5.7-rc

Hi Linus,

- Series from Pavel, wrapping up the init/setup cleanup.

- Series from Pavel fixing some issues around deferral sequences

- Fix for splice punt check using the wrong struct file member

- Apply poll re-arm logic for pollable retry too

- Pollable retry should honor cancelation

- Fix for setup time error handling syzbot reported crash

- Work restore poll cancelation fix


git://git.kernel.dk/linux-block.git tags/io_uring-5.7-2020-04-17


----------------------------------------------------------------
Jens Axboe (4):
io_uring: correct O_NONBLOCK check for splice punt
io_uring: check for need to re-wait in polled async handling
io_uring: io_async_task_func() should check and honor cancelation
io_uring: only post events in io_poll_remove_all() if we completed some

Pavel Begunkov (8):
io_uring: remove obsolete @mm_fault
io_uring: track mm through current->mm
io_uring: early submission req fail code
io_uring: keep all sqe->flags in req->flags
io_uring: move all request init code in one place
io_uring: fix cached_sq_head in io_timeout()
io_uring: kill already cached timeout.seq_offset
io_uring: don't count rqs failed after current one

Xiaoguang Wang (1):
io_uring: restore req->work when canceling poll request

fs/io_uring.c | 301 +++++++++++++++++++++++++++++++---------------------------
1 file changed, 162 insertions(+), 139 deletions(-)

--
Jens Axboe


2020-04-17 17:28:06

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] io_uring fixes for 5.7-rc

On Fri, Apr 17, 2020 at 8:16 AM Jens Axboe <[email protected]> wrote:
>
> - Work restore poll cancelation fix

That whole apoll thing is disgusting.

I cannot convince myself it is right. How do you convince yourself?

Linus

2020-04-17 17:29:51

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] io_uring fixes for 5.7-rc

On Fri, Apr 17, 2020 at 10:26 AM Linus Torvalds
<[email protected]> wrote:
>
> I cannot convince myself it is right. How do you convince yourself?

.. and equally importantly: even if it were to be now correct - how do
you make sure it keeps working when it's so odd and subtle and crazy?

Linus

2020-04-17 17:43:51

by Jens Axboe

[permalink] [raw]
Subject: Re: [GIT PULL] io_uring fixes for 5.7-rc

On 4/17/20 11:26 AM, Linus Torvalds wrote:
> On Fri, Apr 17, 2020 at 8:16 AM Jens Axboe <[email protected]> wrote:
>>
>> - Work restore poll cancelation fix
>
> That whole apoll thing is disgusting.
>
> I cannot convince myself it is right. How do you convince yourself?

req->poll is used for pure poll requests, req->apoll is used for poll
that is armed on behalf of a non-poll request. So the paths are actually
pretty well defined, for both the submission side entry, and the
completion side which is through the wakeup handlers.

The handlers that deal with the "poll on behalf of another request" is
pretty short and limited. Anything that uses "poll on behalf of others"
is not going to be queued async, which is the overlap with io_wq_work
in the io_kiocb structure. The only part we have to be a bit careful
with there is for the assume contexts, like mm etc. One of the fixes
in this pull request deals with that.

--
Jens Axboe

2020-04-17 17:49:50

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] io_uring fixes for 5.7-rc

The pull request you sent on Fri, 17 Apr 2020 09:16:38 -0600:

> git://git.kernel.dk/linux-block.git tags/io_uring-5.7-2020-04-17

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

Thank you!

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