Hello,
On Thu, Sep 26, 2013 at 10:32 PM, Viresh Kumar viresh.kumar@linaro.org wrote:
On 26-Sep-2013 10:03 PM, "Ryan" ryanphilips19@googlemail.com wrote:
Can you explain a little bit, I read somewhere that it is due to ping pong. but i was not able to visualize that part. How it could happen.
Suppose load is changing between 90 and 99, then due to down diff we will keep running at max freq.. otherwise continuos switching will hqppen..
Let me understand how the downscaling works in the older sources.
So, you mean that -
1) Upthreshold = 95% down dif = 5%
so, upthreshold - down diff = 90%
if load is 85% ; cpu downscaling takes place if load is 75% ; cpu downscaling takes place and so on.
So everytime for sampling rate period - work queue checks and finds the load and downscaling takes place if less than 90%.
What i did not understand is how down diff will make the cpu remain in the same range for a longer period.
Am i missing something. could you please give a detailed answer as i struggling to understand this.
Thanks for your time.
/ryan
also when you say that
"Latest ondemand gov keeps freq proportional to load all the time.. and switches to max freq directly if load is over 95" you mean to say there is no down differential part of 5%?
Not that.. in earlier code we will not inc freq while load is less than up thresh.. but now if load is less than up thresh but greater than last load, we will inc freq by some amount.. and so we end up using middle freqs more now..