Re: [RFC PATCH] cpufreq: ondemand: Increase frequency to any valueproportional to load

From: Stratos Karafotis
Date: Wed May 29 2013 - 11:16:14 EST


On 05/28/2013 11:54 PM, Rafael J. Wysocki wrote:
> On Tuesday, May 28, 2013 08:03:19 PM Stratos Karafotis wrote:
>> I mean any value of freq table. Please let me know if you want me to rephrase
>> it in description.
>
> Yes, it would be nice to be more precise.

OK sure, I will add a more precise description.


> Which is equivalent to saying that __cpufreq_driver_getavg() is not useful and
> may be removed (but the patch doesn't do that and I wonder why?), but surely
> the developer who added it wouldn't agree.
>
> So, please explain: why can we drop __cpufreq_driver_getavg()?
>

With the new proposed method the next frequency is not dependent from current
or average frequency. The next frequency is dependent only from load.
So, we don't need support for freq feedback from hardware anymore.
Even if, due to underlying hardware coordination mechanism, CPU runs in different
frequency than the actual, the calculation of load and of target frequency will
remain the unaffected, with this patch.

With full respect to ondemand coauthor, and if the new method is acceptable,
I could send a patch to revert the original one about the IA32_APERF and
IA32_MPERF MSR support.


>> Thus, in the comparison with up_threshold to increase frequency we actually
>> do this (in cases that getavg is not implemented):
>> if (load > up_theshold)
>> increase to max
>>
>> So, after the patch we keep the same comparison to decide about the max frequency.
>> I thought, that below up_threshold is 'fair' to decide about the next
>> frequency with formula that frequency is proportional to load.
>> For example in a CPU with min freq 100MHz and max 1000MHz with a
>> load 50 target frequency should be 500MHz.
>
> Well, that sounds reasonable, but the patch actually does more than that.

I'm sorry, but I didn't understand your last point.


Thanks for your comments,
Stratos

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