Re: [discussion]sched: a rough proposal to enable power saving inscheduler

From: Alex Shi
Date: Thu Aug 16 2012 - 00:57:57 EST


On 08/15/2012 10:24 PM, Rakib Mullick wrote:

> On 8/13/12, Alex Shi <alex.shi@xxxxxxxxx> wrote:
>> Since there is no power saving consideration in scheduler CFS, I has a
>> very rough idea for enabling a new power saving schema in CFS.
>>
>> It bases on the following assumption:
>> 1, If there are many task crowd in system, just let few domain cpus
>> running and let other cpus idle can not save power. Let all cpu take the
>> load, finish tasks early, and then get into idle. will save more power
>> and have better user experience.
>>
> This assumption indirectly point towards the scheme when performance
> is enabled, isn't it? Cause you're trying to spread the load equally
> amongst all the CPUs.


It is.

>
>>
>> select_task_rq_fair()
>> {

int powersaving = 0;

>> for_each_domain(cpu, tmp) {
>> if (policy == power && tmp_has_capacity &&
>> tmp->flags & sd_flag) {
>> sd = tmp;
>> //It is fine to got cpu in the domain

powersaving = 1;

>> break;
>> }
>> }
>>
>> while(sd) {
if (policy == power && powersaving == 1)
>> find_busiest_and_capable_group()
>
> I'm not sure what find_busiest_and_capable_group() would really be, it
> seems it'll find the busiest and capable group, but isn't it a
> conflict with the first assumption you proposed on your proposal?


This pseudo code missed a power saving workable flag , adding it into
above code should solved your concern.

>
> Thanks,
> Rakib.


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