public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH 0/6] Allow signals for IO threads
@ 2021-03-26  0:39 Jens Axboe
  2021-03-26  0:39 ` [PATCH 1/8] io_uring: handle signals for IO threads like a normal thread Jens Axboe
                   ` (6 more replies)
  0 siblings, 7 replies; 37+ messages in thread
From: Jens Axboe @ 2021-03-26  0:39 UTC (permalink / raw)
  To: io-uring; +Cc: torvalds, ebiederm, metze, oleg, linux-kernel

Hi,

As discussed in a previous thread today, the seemingly much saner approach
is just to allow signals (including SIGSTOP) for the PF_IO_WORKER IO
threads. If we just have the threads call get_signal() for
signal_pending(), then everything just falls out naturally with how
we receive and handle signals.

Patch 1 adds support for checking and calling get_signal() from the
regular IO workers, the manager, and the SQPOLL thread. Patch 2 unblocks
SIGSTOP from the default IO thread blocked mask, and the rest just revert
special cases that were put in place for PF_IO_WORKER threads.

With this done, only two special cases remain for PF_IO_WORKER, and they
aren't related to signals so not part of this patchset. But both of them
can go away as well now that we have "real" threads as IO workers, and
then we'll have zero special cases for PF_IO_WORKER.

This passes the usual regression testing, my other usual 24h run has been
kicked off. But I wanted to send this out early.

Thanks to Linus for the suggestion. As with most other good ideas, it's
obvious once you hear it. The fact that we end up with _zero_ special
cases with this is a clear sign that this is the right way to do it
indeed. The fact that this series is 2/3rds revert further drives that
point home. Also thanks to Eric for diligent review on the signal side
of things for the past changes (and hopefully ditto on this series :-))

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2021-04-03  0:48 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-26  0:39 [PATCH 0/6] Allow signals for IO threads Jens Axboe
2021-03-26  0:39 ` [PATCH 1/8] io_uring: handle signals for IO threads like a normal thread Jens Axboe
2021-03-26  0:39 ` [PATCH 2/8] kernel: unmask SIGSTOP for IO threads Jens Axboe
2021-03-26 13:48   ` Oleg Nesterov
2021-03-26 15:01     ` Jens Axboe
2021-03-26 15:23       ` Stefan Metzmacher
2021-03-26 15:29         ` Jens Axboe
2021-03-26 18:01           ` Stefan Metzmacher
2021-03-26 18:59             ` Jens Axboe
2021-04-01 14:53             ` Stefan Metzmacher
2021-03-26  0:39 ` [PATCH 3/8] Revert "signal: don't allow sending any signals to PF_IO_WORKER threads" Jens Axboe
2021-03-26  0:39 ` [PATCH 4/8] Revert "kernel: treat PF_IO_WORKER like PF_KTHREAD for ptrace/signals" Jens Axboe
2021-03-26  0:39 ` [PATCH 5/8] Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing" Jens Axboe
2021-03-26  0:39 ` [PATCH 6/8] Revert "signal: don't allow STOP on PF_IO_WORKER threads" Jens Axboe
     [not found] ` <[email protected]>
2021-03-26 12:56   ` [PATCH 0/6] Allow signals for IO threads Jens Axboe
2021-03-26 13:31     ` Stefan Metzmacher
2021-03-26 13:54       ` Jens Axboe
2021-03-26 13:59         ` Jens Axboe
2021-03-26 14:38           ` Jens Axboe
2021-03-26 14:43             ` Stefan Metzmacher
2021-03-26 14:45               ` Stefan Metzmacher
2021-03-26 14:53                 ` Jens Axboe
2021-03-26 14:55                   ` Jens Axboe
2021-03-26 15:08                     ` Stefan Metzmacher
2021-03-26 15:10                       ` Jens Axboe
2021-03-26 15:11                         ` Stefan Metzmacher
2021-03-26 15:12                           ` Jens Axboe
2021-03-26 15:04                   ` Stefan Metzmacher
2021-03-26 15:09                     ` Jens Axboe
2021-03-26 14:50               ` Jens Axboe
2021-03-27  1:46       ` Stefan Metzmacher
2021-03-27 16:41         ` Jens Axboe
2021-04-01 14:58         ` Stefan Metzmacher
2021-04-01 15:39           ` Linus Torvalds
2021-04-01 16:00             ` Stefan Metzmacher
2021-04-01 16:24               ` Linus Torvalds
2021-04-03  0:48                 ` Stefan Metzmacher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox