[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5daea3c-0834-1629-3e38-3db5130eb32f@gmail.com>
Date: Sat, 24 Mar 2018 13:47:13 +0100
From: Heiner Kallweit <hkallweit1@...il.com>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: "Peter Zijlstra (Intel)" <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Problem with commit 31e77c93e432 "sched/fair: Update blocked load
when newly idle"
Am 24.03.2018 um 07:46 schrieb Vincent Guittot:
> Hi Heiner,
>
> Le Friday 23 Mar 2018 à 22:28:09 (+0100), Heiner Kallweit a écrit :
>> Recently I started to get the following problems with linux-next:
>>
>> - When working via Putty/SSH on the system the console frequently freezes
>> for few seconds. Sometimes only opening a second console makes the
>> first one react again.
>>
>> - I get "INFO: rcu_sched detected stalls on CPUs/tasks:" warnings as
>> described in [1].
>>
>> Bisecting the issue resulted in:
>>
>> 31e77c93e432dec79c7d90b888bbfc3652592741 is the first bad commit
>> commit 31e77c93e432dec79c7d90b888bbfc3652592741
>> Author: Vincent Guittot <vincent.guittot@...aro.org>
>> Date: Wed Feb 14 16:26:46 2018 +0100
>>
>> sched/fair: Update blocked load when newly idle
>>
>> When NEWLY_IDLE load balance is not triggered, we might need to update the
>> blocked load anyway. We can kick an ilb so an idle CPU will take care of
>> updating blocked load or we can try to update them locally before entering
>> idle. In the latter case, we reuse part of the nohz_idle_balance.
>>
>> After reversing this commit at least the issue with the freezing console
>> is gone. The second one appeared only sporadically, I still have to see
>> whether it pops up again.
>>
>
> Can you check if the change below fix the problem ?
>
Thanks for the quick feedback. The change however didn't fix the probem, I didn't
notice any changed behavior.
> ---
> kernel/sched/fair.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 3582117..672f212 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -9430,6 +9430,9 @@ static bool _nohz_idle_balance(struct rq *this_rq, unsigned int flags,
>
> has_blocked_load |= update_nohz_stats(rq, true);
>
> + if (flags == NOHZ_STATS_KICK)
> + continue;
> +
> /*
> * If time for next balance is due,
> * do the balance.
>
Powered by blists - more mailing lists