]> 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)
commit55ab9577cec6bc3ea52f3cd6040d607739b09d91
treec63ab3539a958e3c15741d34352f5a30fab5deb9
parented425e81020cfe161b182663746bf44993aedb39
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