Re: rcu: frequent rcu lockups

From: Paul E. McKenney
Date: Wed Mar 11 2015 - 16:17:16 EST


On Wed, Mar 11, 2015 at 03:57:32PM -0400, Sasha Levin wrote:
> Hi all,
>
> I've started seeing the following hang pretty often during my fuzzing. The
> system proceeds to lock up after that.
>
> [ 3209.655703] INFO: rcu_preempt detected stalls on CPUs/tasks:
> [ 3209.655703] Tasks blocked on level-1 rcu_node (CPUs 16-31):
> [ 3209.655703] (detected by 0, t=30502 jiffies, g=48799, c=48798, q=1730)
> [ 3209.655703] All QSes seen, last rcu_preempt kthread activity 1 (4295246069-4295246068), jiffies_till_next_fqs=1, root ->qsmask 0x2
> [ 3209.655703] trinity-c24 R running task 26944 9338 9110 0x10080000
> [ 3209.655703] 0000000000002396 00000000e68fa48e ffff880050607dc8 ffffffffa427679b
> [ 3209.655703] ffff880050607d98 ffffffffb1b36000 0000000000000001 00000001000440f4
> [ 3209.655703] ffffffffb1b351c8 dffffc0000000000 ffff880050622000 ffffffffb1721000
> [ 3209.655703] Call Trace:
> [ 3209.655703] <IRQ> sched_show_task (kernel/sched/core.c:4542)
> [ 3209.655703] rcu_check_callbacks (kernel/rcu/tree.c:1225 kernel/rcu/tree.c:1331 kernel/rcu/tree.c:3389 kernel/rcu/tree.c:3453 kernel/rcu/tree.c:2683)
> [ 3209.655703] ? acct_account_cputime (kernel/tsacct.c:168)
> [ 3209.655703] update_process_times (./arch/x86/include/asm/preempt.h:22 kernel/time/timer.c:1386)
> [ 3209.655703] tick_periodic (kernel/time/tick-common.c:92)
> [ 3209.655703] ? tick_handle_periodic (kernel/time/tick-common.c:105)
> [ 3209.655703] tick_handle_periodic (kernel/time/tick-common.c:105)
> [ 3209.655703] local_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:891)
> [ 3209.655703] smp_trace_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:934 include/linux/jump_label.h:114 ./arch/x86/include/asm/trace/irq_vectors.h:45 arch/x86/kernel/apic/apic.c:935)
> [ 3209.655703] trace_apic_timer_interrupt (arch/x86/kernel/entry_64.S:920)
> [ 3209.655703] <EOI> ? add_wait_queue (include/linux/wait.h:116 kernel/sched/wait.c:29)
> [ 3209.655703] ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:162 kernel/locking/spinlock.c:191)
> [ 3209.655703] add_wait_queue (kernel/sched/wait.c:31)
> [ 3209.655703] do_wait (kernel/exit.c:1473)
> [ 3209.655703] ? trace_rcu_dyntick (include/trace/events/rcu.h:363 (discriminator 19))
> [ 3209.655703] ? wait_consider_task (kernel/exit.c:1465)
> [ 3209.655703] ? find_get_pid (kernel/pid.c:490)
> [ 3209.655703] SyS_wait4 (kernel/exit.c:1618 kernel/exit.c:1586)
> [ 3209.655703] ? perf_syscall_exit (kernel/trace/trace_syscalls.c:549)
> [ 3209.655703] ? SyS_waitid (kernel/exit.c:1586)
> [ 3209.655703] ? kill_orphaned_pgrp (kernel/exit.c:1444)
> [ 3209.655703] ? syscall_trace_enter_phase2 (arch/x86/kernel/ptrace.c:1592)
> [ 3209.655703] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42)
> [ 3209.655703] tracesys_phase2 (arch/x86/kernel/entry_64.S:347)

OK, that is not good.

What version are you running and what is your .config?

Thanx, Paul

--
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/