In controler algorithm take into account current overshout error and don't wait till next period.
Signed-off-by: Lukasz Luba l.luba@partner.samsung.com --- kernel/sched/power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/power.c b/kernel/sched/power.c index 20f5618d8f2b..8bd8502681e3 100644 --- a/kernel/sched/power.c +++ b/kernel/sched/power.c @@ -548,7 +548,7 @@ static u32 calc_power_budget(struct _thermal_zone *zone) i = zone->trip_ctrl_alg.integral * k_i;
if (temp_diff < 0) { - s64 i_0 = i + k_i * temp_diff; + i += k_i * temp_diff;
zone->trip_ctrl_alg.integral += temp_diff; }