Re: CPU Hotplug: Hotplug Script And SIGPWR

Nick Piggin
2004-01-20T08:16:05Z

Tim Hockin wrote:

>On Tue, Jan 20, 2004 at 06:45:37PM +1100, Nick Piggin wrote:
>
>>>I guess a hotplug script MAY fail. I don't think it's a good idea to make
>>>your CPU hotplug script fail. May and Misght are different. It's up to
>>>the
>>>implementor whether the script can get into a failure condition.
>>>
>>>
>>Sorry bad wording. The script may fail to be executed.
>>
>
>Under what conditions? Not arbitrary entropy, surely. If a hotplug script
>is present and does not blow up, it should be safe to assume it will be run
>upon an event being delivered. If not, we have a WAY bigger problem :)
>

That assumption is not safe. The main problems are of course process limits
and memory allocation failure.

>
>>>What if <which> process needs guaranteed scheduling latency? Do we really
>>>_guarantee_ scheduling latency *anywhere*?
>>>
>>We do guarantee that a realtime task won't be blocked waiting for
>>a hotplug script to fault in and start it up again (which may not
>>happen). Not sure how important this issue is.
>>
>
>We have a conflict of priority here. If an RT task is affined to CPU A and
>CPU A gets yanked out, what do we do?
>
>Obviously the RT task can't keep running as it was. It was affined to A.
>Maybe for a good reason. I see we have a few choices here:
>
>* re-affine it automatically, thereby silently undoing the explicit
> affinity.
>* violate it's RT scheduling by not running it until it has been re-affined
> or CPU A returns to the pool/
>
>Sending it a SIGPWR means you have to run it on a different CPU that it was
>affined to, which is already a violation.
>

At least the task has the option to handle the problem.