lkml.org 
[lkml]   [2018]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Fix 80d20d35af1e ("nohz: Fix local_timer_softirq_pending()") may have revealed another problem
On Fri, Aug 24, 2018 at 07:06:32PM +0200, Heiner Kallweit wrote:
> On 24.08.2018 16:30, Frederic Weisbecker wrote:
> >> Can you try the one I posted in this thread:
> >>
> >> https://lkml.kernel.org/r/alpine.DEB.2.21.1808240851420.1668@nanos.tec.linutronix.de
> >>
> >> Also below for reference.
> >>
> >> Thanks,
> >>
> >> tglx
> >>
> >> 8<----------------
> >> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> >> index 5b33e2f5c0ed..6aab9d54a331 100644
> >> --- a/kernel/time/tick-sched.c
> >> +++ b/kernel/time/tick-sched.c
> >> @@ -888,7 +888,7 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts)
> >> if (unlikely(local_softirq_pending() && cpu_online(cpu))) {
> >> static int ratelimit;
> >>
> >> - if (ratelimit < 10 &&
> >> + if (ratelimit < 10 && !in_softirq() &&
> >> (local_softirq_pending() & SOFTIRQ_STOP_IDLE_MASK)) {
> >> pr_warn("NOHZ: local_softirq_pending %02x\n",
> >> (unsigned int) local_softirq_pending());
> >
> > I fear it may not work in his case because it happens in -next and we don't stop
> > the idle tick from IRQ tail anymore. So we shouldn't be interrupting a softirq
> > in this path. Still it's worth trying, I may well be missing something.
> >
> > Thanks.
> >
> I tested it and Frederic is right, it doesn't help. Can it be somehow related to
> the cpu being brought down during suspend? Because I get the warning only during
> suspend when the cpu is inactive already (but still online).

It's hard to tell, I haven't been able to reproduce on suspend to disk/mem.

Does this script eventually trigger it after some time?

#!/bin/bash

do_hotplug()
{
for i in $(seq 1 $2)
do
echo $1 > /sys/devices/system/cpu/cpu$i/online
done
}

LAST_CPU=$(($(nproc)-1))

while true
do
do_hotplug 0 $LAST_CPU
do_hotplug 1 $LAST_CPU
done
\
 
 \ /
  Last update: 2018-08-28 04:26    [W:0.136 / U:2.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site