cpufreq: interactive: avoid underflow on active time calculation
Check for idle time delta less than elapsed time delta, avoid underflow computing active time. Change-Id: I3e4c6ef1ad794eec49ed379c0c50fa727fd6ad28 Signed-off-by: Minsung Kim <ms925.kim@samsung.com>
This commit is contained in:
parent
aedd63a502
commit
83720c33a9
1 changed files with 6 additions and 1 deletions
|
@ -325,7 +325,12 @@ static u64 update_load(int cpu)
|
|||
now_idle = get_cpu_idle_time(cpu, &now);
|
||||
delta_idle = (unsigned int)(now_idle - pcpu->time_in_idle);
|
||||
delta_time = (unsigned int)(now - pcpu->time_in_idle_timestamp);
|
||||
active_time = delta_time - delta_idle;
|
||||
|
||||
if (delta_time <= delta_idle)
|
||||
active_time = 0;
|
||||
else
|
||||
active_time = delta_time - delta_idle;
|
||||
|
||||
pcpu->cputime_speedadj += active_time * pcpu->policy->cur;
|
||||
|
||||
pcpu->time_in_idle = now_idle;
|
||||
|
|
Loading…
Add table
Reference in a new issue