[RFC PATCH 00/18] kthreads/signal: Safer kthread API and signal handling

Christoph Hellwig hch at infradead.org
Wed Jun 17 04:34:50 PDT 2015


On Fri, Jun 05, 2015 at 05:00:59PM +0200, Petr Mladek wrote:
> Kthreads are implemented as an infinite loop. They include check points
> for termination, freezer, parking, and even signal handling.
> 
> We need to touch all kthreads every time we want to add or
> modify the behavior of such checkpoints. It is not easy because
> there are several hundreds of kthreads and each of them is
> implemented in a slightly different way.
> 
> This anarchy brings potentially broken or non-standard behavior.
> For example, few kthreads already handle signals a strange way.
> 
> 
> This patchset is a _proof-of-concept_ how to improve the situation.

Maybe it might be a better idea to audit the existing callers of
signals for kthreads and first check if we can get rid of them.  Then
as a second step if any are left convert them to signalfd-style
operation where signals aren't checked synchronously but as something
the threads can consume on a as needed basis.



More information about the linux-mtd mailing list