Re: [powerpc][next-20210621] WARNING at kernel/sched/fair.c:3277 during boot
From: Vincent Guittot <vincent.guittot@linaro.org>
Date: 2021-06-23 12:22:35
Also in:
linuxppc-dev, lkml
From: Vincent Guittot <vincent.guittot@linaro.org>
Date: 2021-06-23 12:22:35
Also in:
linuxppc-dev, lkml
On Wed, 23 Jun 2021 at 14:18, Odin Ugedal [off-list ref] wrote:
Hi, Wouldn't the attached diff below also help when load is removed, Vincent? Isn't there a theoretical chance that x_sum ends up at zero while x_load ends up as a positive value (without this patch)? Can post as a separate patch if it works for Sachin.
In theory it should not because _sum should be always larger or equal to _avg * divider. Otherwise, it means that we have something wrong somewhere else
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index bfaa6e1f6067..def48bc2e90b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c@@ -3688,15 +3688,15 @@ update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq) r = removed_load; sub_positive(&sa->load_avg, r); - sub_positive(&sa->load_sum, r * divider); + sa->load_sum = sa->load_avg * divider; r = removed_util; sub_positive(&sa->util_avg, r); - sub_positive(&sa->util_sum, r * divider); + sa->util_sum = sa->util_avg * divider; r = removed_runnable; sub_positive(&sa->runnable_avg, r); - sub_positive(&sa->runnable_sum, r * divider); + sa->runnable_sum = sa->runnable_avg * divider; /* * removed_runnable is the unweighted version ofremoved_load so we