On Thu, Dec 15, 2011 at 07:16:35PM +0800, Richard Zhao wrote:
> +#ifdef CONFIG_SMP
> +     /* loops_per_jiffy is not updated by the cpufreq core for SMP systems.
> +      * So update it for all CPUs.
> +      */
> +     for_each_possible_cpu(cpu)
> +             per_cpu(cpu_data, cpu).loops_per_jiffy =
> +             cpufreq_scale(per_cpu(cpu_data, cpu).loops_per_jiffy,
> +                                     freqs.old, freqs.new);

NAK.  If you think this is a good solution, you're very wrong.  If this
is what's in the core cpufreq code, then it too is very broken.

I've seen this exact method result in the loops_per_jiffy being totally
buggered over time by the constant scaling up and down.  The only way
to do this _sensibly_ is to record the _initial_ loops_per_jiffy and
_inital_ frequency, and scale from that.

That way you get consistent results irrespective of the scalings you
do over time, rather than something which continually deteriorates with
every frequency change.

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to