Messages in this thread | | | Date | Tue, 05 May 2015 11:01:25 +0100 | From | Dietmar Eggemann <> | Subject | Re: [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task and capacity gte the dst cpu |
| |
On 30/04/15 08:46, pang.xunlei@zte.com.cn wrote: > linux-kernel-owner@vger.kernel.org wrote 2015-03-26 AM 02:44:48: > >> Dietmar Eggemann <dietmar.eggemann@arm.com> >> >> Re: [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task >> and capacity gte the dst cpu >> >> On 24/03/15 15:27, Peter Zijlstra wrote: >> > On Wed, Feb 04, 2015 at 06:31:22PM +0000, Morten Rasmussen wrote: >> >> From: Dietmar Eggemann <dietmar.eggemann@arm.com> >> >> >> >> Skip cpu as a potential src (costliest) in case it has only one task >> >> running and its original capacity is greater than or equal to the >> >> original capacity of the dst cpu. >> > >> > Again, that's what, but is lacking a why. >> > >> >> You're right, the 'why' is completely missing. >> >> This is one of our heterogeneous (big.LITTLE) cpu related patches. We >> don't want to end up migrating this single task from a big to a little >> cpu, hence the use of capacity_orig_of(cpu). Our cpu topology makes sure >> that this rule is only active on DIE sd level. > > Hi Dietmar, > > Could you tell me the reason why don't want to end up migrating this single > task from a big to a little cpu? > > Like what I just replied to "[RFCv3 PATCH 47/48]", if the task is a > small one, > why couldn't we migrate it to the little cpu to save energy especially when > the cluster has shared freq, the saving may be appreciable?
If it's a big (always running) task, it should stay on the cpu with the higher capacity. If it is a small task it will eventually go to sleep and the wakeup path will take care of placing it onto the right cpu.
[...]
| |