io_uring: avoid io-wq -EAGAIN looping for !IOPOLL
authorPavel Begunkov <asml.silence@gmail.com>
Fri, 13 May 2022 10:24:56 +0000 (11:24 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 13 May 2022 12:50:42 +0000 (06:50 -0600)
commite0deb6a025ae8c850dc8685be39fb27b06c88736
treef3f6e4af01512eefa04dc65d2d2d8f5f1e893693
parenta8da73a32b6e9271a613e5a0e90a8c35f40abeb8
io_uring: avoid io-wq -EAGAIN looping for !IOPOLL

If an opcode handler semi-reliably returns -EAGAIN, io_wq_submit_work()
might continue busily hammer the same handler over and over again, which
is not ideal. The -EAGAIN handling in question was put there only for
IOPOLL, so restrict it to IOPOLL mode only where there is no other
recourse than to retry as we cannot wait.

Fixes: def596e9557c9 ("io_uring: support for IO polling")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/f168b4f24181942f3614dd8ff648221736f572e6.1652433740.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c