• Jens Axboe's avatar
    io_uring: support true async buffered reads, if file provides it · bcf5a063
    Jens Axboe authored
    If the file is flagged with FMODE_BUF_RASYNC, then we don't have to punt
    the buffered read to an io-wq worker. Instead we can rely on page
    unlocking callbacks to support retry based async IO. This is a lot more
    efficient than doing async thread offload.
    
    The retry is done similarly to how we handle poll based retry. From
    the unlock callback, we simply queue the retry to a task_work based
    handler.
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    bcf5a063
io_uring.c 200 KB