Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling

From: Nick Piggin (nickpiggin_at_yahoo.com.au)
Date: 04/06/04

  • Next message: Matt Brown: "Re: Kernel panic in 2.4.25"
    Date:	Tue, 06 Apr 2004 19:26:06 +1000
    To: vatsa@in.ibm.com
    
    

    Srivatsa Vaddagiri wrote:
    > On Tue, Apr 06, 2004 at 10:28:53AM +1000, Nick Piggin wrote:
    >
    >>I think my stuff is a bit orthogonal to what you're attempting.
    >>And they should probably work well together. My "lazy migrate"
    >>patch means the tasklist lock does not need to be held at all,
    >>only the dying runqueue's lock.
    >
    >
    > Hi Nick,
    > I went thr' your patch and have some comments:
    >

    Hi, thanks for the comments.

    > 1. The benefit I see in your patch (over the solution present today)
    > is you migrate immediately only tasks in the runqueue and don't bother abt
    > sleeping tasks. You catch up with them as and when they wake up.
    >

    That is correct, yes.

    > However by doing so, are we not adding an overhead in the wake-up
    > path? CPU offline should be a (very) rare event and to support that we
    > have to check a cpu's offline status _every_ wakeup call.
    >

    Note there was already that check in the wakeup path, although
    I suspect it was someone being overly cautious and isn't required.

    Also in my patch, the offline check should probably be done below
    the check for if (cpu == this_cpu... because that should be a common
    route.

    > IMHO it is best if we migrate _all_ tasks in one shot during the
    > rare offline event and thus avoid the necessity of cpu_is_offline check
    > during the (more) hotter wake_up path.
    >

    OK, whatever you like. At least you have my alternative if
    you ever run into a problem here.

    > 2. Also note that, migrate_all_tasks is being currently run with
    > rest of the machine frozen. So holding/not-holding tasklist
    > lock during that period does not make a difference!
    >

    Yeah, so Rusty pointed out. It still potentially moves a lot fewer
    tasks though, but I guess it was really waiting for a patch like
    yours ;)

    > My patch avoids having to migrate _immediately_ even the tasks present
    > in the runqueue. So the amout of time machine is frozen is greatly
    > reduced.
    >

    I really don't have much interest in the code so it is up to you.
    If you ever have some realtime system that does cpu hotplugging
    then give me a call!

    Nick
    -
    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: Matt Brown: "Re: Kernel panic in 2.4.25"

    Relevant Pages