[PATCHSET v2 0/7] Allow signals for IO threads

From: Jens Axboe
Date: Fri Mar 26 2021 - 11:52:41 EST


Hi,

For the v1 posting, see here:

https://lore.kernel.org/io-uring/20210326003928.978750-1-axboe@xxxxxxxxx/

I've run this through the usual testing, and it's running long term right
now. I've tested the cases that Stefan reported, and we seem fine now.

Changes since v1:

- Catch fatal signals in get_signal() for PF_IO_WORKER. This is only a
problem for nested signals, like SIGSTOP followed by SIGKILL. We
can't have get_signal() calling do_exit() on behalf of the IO threads,
they have cleanups to do. Thanks Stefan.

- Move signal masking to when the PF_IO_WORKER thread is created, and since
we now handle SIGSTOP, unmask that as well. Thanks Oleg.

- Remove try_to_freeze() parts in IO threads, we don't need those anymore
with the calling of get_signal().

- Minor cleanups.

fs/io-wq.c | 24 +++++++++++++++++-------
fs/io_uring.c | 12 ++++++++----
kernel/fork.c | 16 ++++++++--------
kernel/freezer.c | 2 +-
kernel/ptrace.c | 2 +-
kernel/signal.c | 19 ++++++++++++-------
6 files changed, 47 insertions(+), 28 deletions(-)

--
Jens Axboe