On 6/15/20 1:24 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. Applied, thanks. -- Jens Axboe