diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index d43e9ac9c3c5ab64aeb3cd45c5694b9842904a43..1e3b99a9ab69ff5b47fc903a2335153b74db4aa5 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2915,7 +2915,8 @@ ___update_load_avg(u64 now, int cpu, struct sched_avg *sa, delta >>= 10; if (!delta) return 0; - sa->last_update_time = now; + + sa->last_update_time += delta << 10; /* * Now we know we crossed measurement unit boundaries. The *_avg