[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3924c8b4-fb37-0d85-b8ce-4183e6fff317@kernel.dk>
Date: Sun, 7 Jun 2020 18:12:17 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Pavel Begunkov <asml.silence@...il.com>, io-uring@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/4] cancel all reqs of an exiting task
On 6/7/20 9:32 AM, Pavel Begunkov wrote:
> io_uring_flush() {
> ...
> if (fatal_signal_pending(current) || (current->flags & PF_EXITING))
> io_wq_cancel_pid(ctx->io_wq, task_pid_vnr(current));
> }
>
> This cancels only the first matched request. The pathset is mainly
> about fixing that. [1,2] are preps, [3/4] is the fix.
>
> The [4/4] tries to improve the worst case for io_uring_cancel_files(),
> that's when they are a lot of inflights with ->files. Instead of doing
> {kill(); wait();} one by one, it cancels all of them at once.
>
> Pavel Begunkov (4):
> io-wq: reorder cancellation pending -> running
> io-wq: add an option to cancel all matched reqs
> io_uring: cancel all task's requests on exit
> io_uring: batch cancel in io_uring_cancel_files()
>
> fs/io-wq.c | 108 ++++++++++++++++++++++++++------------------------
> fs/io-wq.h | 3 +-
> fs/io_uring.c | 29 ++++++++++++--
> 3 files changed, 83 insertions(+), 57 deletions(-)
Can you rebase this to include the changing of using ->task_pid to
->task instead? See:
https://lore.kernel.org/io-uring/87a71jjbzr.fsf@x220.int.ebiederm.org/T/#u
Might as well do it at the same time, imho, since the cancel-by-task is
being reworked anyway.
--
Jens Axboe
Powered by blists - more mailing lists