Re: [PATCH] sched/fair: Ensure _sum and _avg values stay consistent
From: Mel Gorman
Date: Thu Jul 01 2021 - 06:34:53 EST
On Thu, Jul 01, 2021 at 03:17:16PM +0530, Sachin Sant wrote:
>
>
> > On 24-Jun-2021, at 4:48 PM, Odin Ugedal <odin@xxxxxxx> wrote:
> >
> > The _sum and _avg values are in general sync together with the PELT
> > divider. They are however not always completely in perfect sync,
> > resulting in situations where _sum gets to zero while _avg stays
> > positive. Such situations are undesirable.
> >
> > This comes from the fact that PELT will increase period_contrib, also
> > increasing the PELT divider, without updating _sum and _avg values to
> > stay in perfect sync where (_sum == _avg * divider). However, such PELT
> > change will never lower _sum, making it impossible to end up in a
> > situation where _sum is zero and _avg is not.
> >
> > Therefore, we need to ensure that when subtracting load outside PELT,
> > that when _sum is zero, _avg is also set to zero. This occurs when
> > (_sum < _avg * divider), and the subtracted (_avg * divider) is bigger
> > or equal to the current _sum, while the subtracted _avg is smaller than
> > the current _avg.
> >
> > Reported-by: Sachin Sant <sachinp@xxxxxxxxxxxxxxxxxx>
> > Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
> > Signed-off-by: Odin Ugedal <odin@xxxxxxx>
>
> Hello Odin, Vincent,
>
> The issue of kernel warning(during boot) seen on Power sever, reported few days back is not completely fixed.
> I am able to recreate this issue with latest 5.13 kernel(which has this fix)
>
> # git log --oneline kernel/sched/fair.c
> a6eaf3850cb1 Merge tag 'sched-urgent-2021-06-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
> 54a728dc5e4f Merge tag 'sched-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
> 1c35b07e6d39 sched/fair: Ensure _sum and _avg values stay consistent <<==
>
What was HEAD when you checked this? 1c35b07e6d39 was merged in the
5.14-rc1 merge window so would not be in 5.13.
# git log v5.13..origin/master --pretty=one | grep 1c35b07e
1c35b07e6d3986474e5635be566e7bc79d97c64d sched/fair: Ensure _sum and _avg values stay consistent
It's not tagged for stable and lacks a Fixes: tag so I don't think
it'll be automatically picked up for 5.13-stable unless Odin sends it
to stable@xxxxxxxxxxxxxxx.
--
Mel Gorman
SUSE Labs