Re: frequent lockups in 3.18rc4

From: Paul E. McKenney
Date: Sat Dec 13 2014 - 13:08:06 EST


On Sat, Dec 13, 2014 at 10:53:35AM -0500, Sasha Levin wrote:
> On 12/13/2014 03:30 AM, Ingo Molnar wrote:
> >> > This is my no_hz related config:
> >> >
> >> > $ grep NO_HZ .config
> >> > CONFIG_NO_HZ_COMMON=y
> >> > # CONFIG_NO_HZ_IDLE is not set
> >> > CONFIG_NO_HZ_FULL=y
> >> > CONFIG_NO_HZ_FULL_ALL=y
> > Just curious, if you disable NO_HZ_FULL_ALL, does the bug change?
>
> On 12/13/2014 07:08 AM, Paul E. McKenney wrote:
> > Alternatively, your could boot with nohz_full=2-27 (or maybe even
> > nohz_full=4-27). This will override CONFIG_NO_HZ_FULL_ALL=y and will
> > provide two (or four with 4-27) housekeeping CPUs that are available to
> > run things like RCU grace-period kthreads and RCU callback processing.
> > This might allow RCU to get the CPU bandwidth it needs despite
> > competition from your workload.
>
> I've tried both nohz_full=4-27 and disabling CONFIG_NO_HZ_FULL_ALL
> altogether, but I'm still seeing the stall:

And again looping in workqueues, despite the cond_resched_rcu_qs() there.
And the reason for that is that cond_resched_rcu_qs() currently only
provides quiescent states for tasks RCU. I will put together something
that makes it work for other RCU flavors.

Not that this is likely to do much about Dave Jones's lockup, but one
thing at a time...

Thanx, Paul

> [ 725.670017] INFO: rcu_preempt detected stalls on CPUs/tasks:
> [ 725.670017] 0: (11 ticks this GP) idle=bbd/140000000000002/0 softirq=11529/11529 fqs=0 last_accelerate: 9d0e/a648, nonlazy_posted: 721357, ..
> [ 725.670017] (detected by 16, t=2102 jiffies, g=9857, c=9856, q=2581)
> [ 725.670017] Task dump for CPU 0:
> [ 725.670017] kworker/0:1 S ffff8800633abde8 13016 520 2 0x10080008
> [ 725.670017] ffffffffb03027a8 ffff880a70f24017 ffffffffb043ef40 ffff88005ffea310
> [ 725.670017] 0000000000000000 dfffe90000000000 0000000000000000 1ffffffff63bcdeb
> [ 725.670017] ffff88006be15030 ffffffffb1de6f58 ffffffffffffff10 ffffffffb0301237
> [ 725.670017] Call Trace:
> [ 725.670017] [<ffffffffb03027a8>] ? retint_restore_args+0x13/0x13
> [ 725.670017] [<ffffffffb0301237>] ? _raw_spin_unlock_irq+0x57/0x200
> [ 725.670017] [<ffffffffb0301203>] ? _raw_spin_unlock_irq+0x23/0x200
> [ 725.670017] [<ffffffffa04630cb>] ? worker_thread+0x15b/0x1680
> [ 725.670017] [<ffffffffb02effef>] ? __schedule+0xf6f/0x2fc0
> [ 725.670017] [<ffffffffa0462f70>] ? process_one_work+0x1650/0x1650
> [ 725.670017] [<ffffffffa047ae12>] ? kthread+0x1f2/0x2b0
> [ 725.670017] [<ffffffffa047ac20>] ? kthread_worker_fn+0x6a0/0x6a0
> [ 725.670017] [<ffffffffb03018bc>] ? ret_from_fork+0x7c/0xb0
> [ 725.670017] [<ffffffffa047ac20>] ? kthread_worker_fn+0x6a0/0x6a0
>
>
> Thanks,
> Sasha
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/