On 12 April 2018 at 21:43, Heiner Kallweit <hkallwe...@gmail.com> wrote:
>>>> I'm going to prepare a debug patch to spy what's happening when entering
>> I'd like to narrow the problem a bit more with the 2 patchies aboves. Can
>> you try
>> them separatly on top of c18bb396d3d261eb ("Merge
>> and check if one of them fixes the problem ?i
>> (They should apply on linux-next as well)
>> First patch always kick ilb instead of doing ilb on local cpu before
>> entering idle
>> kernel/sched/fair.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index 0951d1c..b21925b 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -9739,8 +9739,7 @@ static void nohz_newidle_balance(struct rq *this_rq)
>> * candidate for ilb instead of waking up another idle CPU.
>> * Kick an normal ilb if we failed to do the update.
>> - if (!_nohz_idle_balance(this_rq, NOHZ_STATS_KICK, CPU_NEWLY_IDLE))
>> - kick_ilb(NOHZ_STATS_KICK);
>> + kick_ilb(NOHZ_STATS_KICK);
> I tested both patches, with both of them the issue still occurs. However,
> on top of linux-next from yesterday I have the impression that it happens
> less frequent with the second patch.
> On top of the commit mentioned by you I don't see a change in system behavior
> with either patch.
Thanks for the tests.
I was expecting to have more differences between the 2 patches and
especially no problem with the 1st patch which only send a ipi
reschedule to the other CPU if it is idle.
It seems to not really be related to what is done but to the fact that
it is done at that place in the code
> Regards, Heiner