On 16/11/2019 01:19, Pavel Begunkov wrote:
On 16/11/2019 01:15, Jens Axboe wrote:
quoted
On 11/15/19 2:38 PM, Pavel Begunkov wrote:
quoted
On 16/11/2019 00:16, Jens Axboe wrote:
quoted
On 11/15/19 12:34 PM, Jens Axboe wrote:
quoted
How about something like this? Should work (and be valid) to have any
sequence of timeout links, as long as there's something in front of it.
Commit message has more details.
Updated below (missed the sqe free), easiest to check out the repo
here:
https://git.kernel.dk/cgit/linux-block/log/?h=for-5.5/io_uring-post
as that will show the couple of prep patches, too. Let me know what
you think.
Sure,
BTW, found "io_uring: make io_double_put_req() use normal completion
path" in the tree. And it do exactly the same, what my patch was doing,
the one which "blowed" the link test :)
Hah yes, you are right, you never did resend it though. I'll get
rid of the one I have, and replace with your original (but with
the arguments fixed).
Just keep yours, it's better :)
Moreover, mine have one extra REQ_F_FAIL_LINK, which really
should not be there.
quoted
quoted
I'd add there "req->flags | REQ_F_FAIL_LINK" in-between failed
io_req_defer() and calling io_double_put_req(). (in 2 places)
Otherwise, even though a request failed, it will enqueue the rest
of its link with io_queue_async_work().
Good point, updating now.
--
Pavel Begunkov