Function __compute_runnable_contrib() is to calculate: \Sum 1024*y^n {for (1..n_period)} But LOAD_AVG_MAX returns sum of 1024*y^n (0..n_period). So we need to subtract 1024*y^0. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ganesh Mahendran <opensource.ganesh@xxxxxxxxx> --- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 90e26b1..777ad49 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2508,7 +2508,7 @@ static u32 __compute_runnable_contrib(u64 n) if (likely(n <= LOAD_AVG_PERIOD)) return runnable_avg_yN_sum[n]; else if (unlikely(n >= LOAD_AVG_MAX_N)) - return LOAD_AVG_MAX; + return LOAD_AVG_MAX - 1024; /* Compute \Sum k^n combining precomputed values for k^i, \Sum k^j */ do { -- 1.9.1