]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: fix multi ctx cancellation
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 20 Jun 2022 00:25:52 +0000 (01:25 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:14 +0000 (18:39 -0600)
commitbce9da7648b6f644554996c11b0eecac7aa18374
treec63ab3539a958e3c15741d34352f5a30fab5deb9
parent41e997f4960ae4d6d301be745ee5504af8d98a4f
io_uring: fix multi ctx cancellation

io_uring_try_cancel_requests() loops until there is nothing left to do
with the ring, however there might be several rings and they might have
dependencies between them, e.g. via poll requests.

Instead of cancelling rings one by one, try to cancel them all and only
then loop over if we still potenially some work to do.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/8d491fe02d8ac4c77ff38061cf86b9a827e8845c.1655684496.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c