• Jens Axboe's avatar
    io_uring: spin for sq thread to idle on shutdown · df069d80
    Jens Axboe authored
    As part of io_uring shutdown, we cancel work that is pending and won't
    necessarily complete on its own. That includes requests like poll
    commands and timeouts.
    
    If we're using SQPOLL for kernel side submission and we shutdown the
    ring immediately after queueing such work, we can race with the sqthread
    doing the submission. This means we may miss cancelling some work, which
    results in the io_uring shutdown hanging forever.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    df069d80
io_uring.c 166 KB