Re: [PATCH] cpufreq: ondemand: Change the calculation of target frequency

From: Stratos Karafotis
Date: Mon Jun 03 2013 - 12:12:31 EST


On 06/03/2013 02:24 PM, Viresh Kumar wrote:
> On 3 June 2013 16:27, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
>> The question is if we want policy->max to re-scale them effectively (i.e. to
>> change weights so that the maximum load maps to the highest frequency available
>> at the moment) or if we want policy->max to work as a cap (i.e. to map all
>> loads above certain value to the maximum frequency available at the moment, so
>> that the criteria for selecting the lower frequencies don't change). In my
>> opinion the second option is better, because it means "OK, we can't use some
>> high frequencies, but let's not hurt performance for the loads that wouldn't
>> require them anyway". Otherwise, we'll effectively throttle all loads and
>> that not only causes performance to drop, but also causes more energy to be
>> used overall.
>
> I wouldn't say that I don't agree with you as I do to some extent.
>
> But the question that comes to my mind now is: Why is policy->max reduced
> in the first place? User doesn't have control over which freqs to expose, so
> available_frequencies will stay the same. The only thing he is capable
> of doing is: reduce policy->max.. Which in a way means that.. "I don't want to
> use higher frequencies (power, thermal reasons) and I know performance will
> go down with it and I don't care for it now."
>
> And this way I feel policy->max isn't a bad choice either.
>
> BUT as you said: policy->max isn't there to say don't be so aggressive now in
> increasing frequencies but just only to say, don't go over this frequency..
>
> So, probably we can use cpuinfo.max_freq :)
>

Both of you know better than me, but I also believe that cpuinfo.max is more
appropriate. Although, the decision was taken, let me share a spreadsheet to show
the 2 cases.
https://docs.google.com/spreadsheet/ccc?key=0AnMfNYUV1k0ddHh1OUFXa0kxcGZJaXd4am1sdmVWT0E&usp=sharing

I will prepare the v2 of this patch that uses cpuinfo.max_freq instead of policy-max.
Also, I will split the patch into 3 parts as suggested.


Thank you for your comments and suggestions!
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/