• Jens Axboe's avatar
    io_uring: pick up link work on submit reference drop · 2a44f467
    Jens Axboe authored
    If work completes inline, then we should pick up a dependent link item
    in __io_queue_sqe() as well. If we don't do so, we're forced to go async
    with that item, which is suboptimal.
    
    This also fixes an issue with io_put_req_find_next(), which always looks
    up the next work item. That should only be done if we're dropping the
    last reference to the request, to prevent multiple lookups of the same
    work item.
    
    Outside of being a fix, this also enables a good cleanup series for 5.7,
    where we never have to pass 'nxt' around or into the work handlers.
    Reviewed-by: default avatarPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    2a44f467
io_uring.c 169 KB