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
- Previous message: Dirk Herzhauser: "PROBLEM: BLUETOOTH Dongle causes freeze of System or error Message"
- In reply to: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Next in thread: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Reply: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Reply: Rusty Russell: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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/
- Previous message: Dirk Herzhauser: "PROBLEM: BLUETOOTH Dongle causes freeze of System or error Message"
- In reply to: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Next in thread: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Reply: Srivatsa Vaddagiri: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Reply: Rusty Russell: "Re: [Experimental CPU Hotplug PATCH] - Move migrate_all_tasks to CPU_DEAD handling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|