Re: [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task and capacity gte the dst cpu

From: Dietmar Eggemann
Date: Tue May 05 2015 - 06:01:29 EST


On 30/04/15 08:46, pang.xunlei@xxxxxxxxxx wrote:
> linux-kernel-owner@xxxxxxxxxxxxxxx wrote 2015-03-26 AM 02:44:48:
>
>> Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
>>
>> 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@xxxxxxx>
>> >>
>> >> 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.

[...]

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