[PATCH] schied/fair: Skip updating "contrib" without load

From: Peng Wang
Date: Fri Dec 06 2019 - 11:15:39 EST


We only update load_sum/runnable_load_sum/util_sum with
decayed old sum when load is clear.

Signed-off-by: Peng Wang <rocking@xxxxxxxxxxxxxxxxx>
---
kernel/sched/pelt.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/pelt.c b/kernel/sched/pelt.c
index a96db50..4392953 100644
--- a/kernel/sched/pelt.c
+++ b/kernel/sched/pelt.c
@@ -129,8 +129,9 @@ static u32 __accumulate_pelt_segments(u64 periods, u32 d1, u32 d3)
* Step 2
*/
delta %= 1024;
- contrib = __accumulate_pelt_segments(periods,
- 1024 - sa->period_contrib, delta);
+ if (load)
+ contrib = __accumulate_pelt_segments(periods,
+ 1024 - sa->period_contrib, delta);
}
sa->period_contrib = delta;

--
1.8.3.1