Re: CPU Hotplug: Hotplug Script And SIGPWR

From: Tim Hockin (thockin_at_hockin.org)
Date: 01/20/04

  • Next message: Andrew Morton: "2.6.1-mm5"
    Date:	Mon, 19 Jan 2004 23:54:09 -0800
    To: Nick Piggin <piggin@cyberone.com.au>
    
    

    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 :)

    > >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.

    Basically, RT tasks + CPU affinity + hotplug CPUs do not play nicely
    together. I don't see much that can be done to solve that. With the
    procstate stuff I did, and with planned CPU unplugs we *do* have time before
    the CPU really goes offline in which to act. With unplanned CPU offlining,
    we don't.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Andrew Morton: "2.6.1-mm5"

    Relevant Pages

    • Re: [PATCH] powernow-k8 max speed sanity check
      ... > system boots at lower speeds on battery though. ... > fail on buggy BIOSes and when upgrading the CPU. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: CPU Hotplug: Hotplug Script And SIGPWR
      ... That assumption is not safe. ... >>a hotplug script to fault in and start it up again (which may not ... >CPU A gets yanked out, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • [PATCH] sys_sched_setaffinity() on UP should fail for non-zero CPUs.
      ... Return EINVAL for invalid sched_setaffinity on UP ... I was a little surprised that sys_sched_setaffinity for CPU 1 didn't ... fail on my UP box. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • CPU Hotplug: Hotplug Script And SIGPWR
      ... > the CPU is completely dead (i.e after issuing the CPU_DEAD ... The original code wanted to block until the hotplug script ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: sched_yield behavior
      ... >> CPU, to give to other tasks a chance to run. ... >> higher priority task, and the only of its priority list). ... > the exact nature of the real time constraint? ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)