[v3.13][v3.14][Regression] kthread: make kthread_create()killable
Tetsuo Handa
penguin-kernel at I-love.SAKURA.ne.jp
Mon Mar 17 21:32:56 UTC 2014
Andrew Morton wrote:
> What process is running here? Presumably modprobe.
Yes. It is a worker systemd-udevd process who is acting like modprobe .
> A possible explanation is that modprobe has genuinely received a
> SIGKILL. Can you identify anything in this setup which might send a
> SIGKILL to the modprobe process?
It is the systemd-udevd process who is sending SIGKILL to worker
systemd-udevd processes. It uses hard coded 30 seconds timeout.
> kthread_create_on_node() thinks that SIGKILL came from the oom-killer
> and it cheerfully returns -ENOMEM, which is incorrect if that signal
> came from userspace. And I don't _think_ we prevent
> userspace-originated signals from unblocking
> wait_for_completion_killable()?
I prefer processes being killed upon SIGKILL as soon as possible.
I expect any unkillable operations should be replaced with killable
operations, or the OOM killer may fail to solve no memory state by
choosing a process in unkillable sleep.
More information about the kernel-team
mailing list