[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.22.394.2106091502490.11283@hadrien>
Date: Wed, 9 Jun 2021 15:04:19 +0200 (CEST)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Vincent Guittot <vincent.guittot@...aro.org>
cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Mel Gorman <mgorman@...e.de>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: find_new_ilb
On Wed, 9 Jun 2021, Vincent Guittot wrote:
> On Wed, 9 Jun 2021 at 09:12, Peter Zijlstra <peterz@...radead.org> wrote:
> >
> > On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote:
> > > Starting from the following commit:
> > >
> > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce
> > > Author: Peter Zijlstra <peterz@...radead.org>
> > > Date: Tue Aug 18 10:48:17 2020 +0200
> > >
> > > sched/fair: Exclude the current CPU from find_new_ilb()
> > >
> > > up through Linux 5.12, I observed that often when most of the machine was
> > > idle, there could be many (thousands) of sched_wake_idle_without_ipi
> > > events, typically between cores 0 and 1. I don't see this any more in
> > > Linux v5.13-rc1. I looked through the patches to fair.c and core.c
> > > subsequent to v5.12, and I didn't see anything that explicitly addresses
> > > this issue. Before I plunge into another set of rounds of bisecting, I
> > > wonder if anyone knows whether and how this problem was resolved?
> >
> > Hurmph.. that patch was preparation for a later change that never seems
> > to have happened. If it is causing trouble for you, I think you can
> > savely revert it.
> >
> > At the time I thought it was very strange that new_idle would select
> > itself as idle-balancer, doubly so, because the only way to get there
> > would be with NEED_RESCHED already set, so the IPI wouldn't in fact do
> > anything.
> >
> > Looking again, the difference is ofcourse that previously we'd select
> > self and NO-OP, but now we'll potentially select another CPU and
> > actually do something.
> >
> > This is arguably an improvement, because we did want to do something.
> >
> > I can't quite remember what would've change here since, Vincent, can
> > you remember?
>
> c6f886546cb8 ("sched/fair: Trigger the update of blocked load on newly
> idle cpu") could be the one which fixes it.
> We don't kick_ilb from newilde_balance() since this commit
This is indeed the commit that fixes the problem. Increasing the blocked
load did seem to be what was not getting done.
thanks,
julia
>
> >
> > Anyway, is this actually causing you trouble, or are you just going on
> > the increased number of events?
>
Powered by blists - more mailing lists