Re: CPU Hotplug: Hotplug Script And SIGPWR

Andy Lutomirski
2004-01-20T17:50:15Z

Tim Hockin wrote:

> On Tue, Jan 20, 2004 at 05:43:59PM +1100, Nick Piggin wrote:
>
>>>I think the sanest thing for a CPU removal is to migrate everything off the
>>>processor in question, move unrunnable tasks into TASK_UNRUNNABLE state,
>>>then notify /sbin/hotplug. The hotplug script can then find and handle the
>>>unrunnable tasks. No SIGPWR grossness needed.
>>>
>>
>>Seems less robust and more ad hoc than SIGPWR, however.
>
>
> Disagree. SIGPWR will kill any process that doesn't catch it. That's
> policy. It seems more robust to let the hotplug script decide what to do.
> If it wants to kill each unrunnable task with SIGPWR, it can. But if it
> wants to let them live, it can.

This seems like a problem that a lot of power-management issues have.
(At some point, linux may want to suspend itself after inactivity. Both
RT tasks and some interactive tasks may want to supress that.) Why not
add a SIGPM signal, which is only sent if handles, and which indicates
that PM event is happening. Give usermode some method of responding to
it (e.g. handler returns a value, or a new syscall), and let
/sbin/hotplug handle events for tasks that either ignore the signal or
responded that they were uninterested. This seems be close to optimal
for every case I can think of.

--Andy