Messages in this thread |  | | Date | Wed, 5 Oct 2016 10:08:42 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH] perf powerpc: Don't call perf_event_disable from atomic context |
| |
On Tue, Oct 04, 2016 at 03:08:27PM +1100, Michael Ellerman wrote: > Jiri Olsa <jolsa@kernel.org> writes: > > > The trinity syscall fuzzer triggered following WARN on powerpc: > > WARNING: CPU: 9 PID: 2998 at arch/powerpc/kernel/hw_breakpoint.c:278 > > ... > > NIP [c00000000093aedc] .hw_breakpoint_handler+0x28c/0x2b0 > > LR [c00000000093aed8] .hw_breakpoint_handler+0x288/0x2b0 > > Call Trace: > > [c0000002f7933580] [c00000000093aed8] .hw_breakpoint_handler+0x288/0x2b0 (unreliable) > > [c0000002f7933630] [c0000000000f671c] .notifier_call_chain+0x7c/0xf0 > > [c0000002f79336d0] [c0000000000f6abc] .__atomic_notifier_call_chain+0xbc/0x1c0 > > [c0000002f7933780] [c0000000000f6c40] .notify_die+0x70/0xd0 > > [c0000002f7933820] [c00000000001a74c] .do_break+0x4c/0x100 > > [c0000002f7933920] [c0000000000089fc] handle_dabr_fault+0x14/0x48 > > Is that the full stack trace? It doesn't look like it. > > And were you running trinity as root or regular user?
I cut it just to contain the backtrace.. attached full one from another instance of this error.
Jan, could you please answer the trinity question?
thanks, jirka
--- [ 4557.360587] =============================== [ 4557.360590] [ INFO: suspicious RCU usage. ] [ 4557.360593] 3.10.0-379.el7.ppc64le.debug #1 Tainted: G W ------------ [ 4557.360596] ------------------------------- [ 4557.360599] include/linux/rcupdate.h:488 Illegal context switch in RCU read-side critical section! [ 4557.360602] [ 4557.360602] other info that might help us debug this: [ 4557.360602] [ 4557.360606] [ 4557.360606] rcu_scheduler_active = 1, debug_locks = 0 [ 4557.360610] 2 locks held by trinity-c0/138777: [ 4557.360613] #0: (rcu_read_lock){.+.+..}, at: [<c000000000a65408>] notify_die+0x8/0x1c0 [ 4557.360622] #1: (rcu_read_lock){.+.+..}, at: [<c000000000a600a8>] hw_breakpoint_handler+0x8/0x310 [ 4557.360631] [ 4557.360631] stack backtrace: [ 4557.360635] CPU: 0 PID: 138777 Comm: trinity-c0 Tainted: G W ------------ 3.10.0-379.el7.ppc64le.debug #1 [ 4557.360639] Call Trace: [ 4557.360641] [c00000042844b510] [c000000000019e18] show_stack+0x88/0x390 (unreliable) [ 4557.360647] [c00000042844b5d0] [c000000000a7ab04] dump_stack+0x30/0x44 [ 4557.360653] [c00000042844b5f0] [c0000000001a0140] lockdep_rcu_suspicious+0x140/0x190 [ 4557.360659] [c00000042844b670] [c000000000140ee8] __might_sleep+0x278/0x2d0 [ 4557.360663] [c00000042844b6f0] [c000000000a55794] mutex_lock_nested+0x74/0x5b0 [ 4557.360669] [c00000042844b7f0] [c00000000026f67c] perf_event_ctx_lock_nested+0x15c/0x370 [ 4557.360674] [c00000042844b880] [c0000000002714b8] perf_event_disable+0x28/0xe0 [ 4557.360679] [c00000042844b8b0] [c000000000a602a4] hw_breakpoint_handler+0x204/0x310 [ 4557.360684] [c00000042844b950] [c000000000a65124] notifier_call_chain.constprop.6+0xa4/0x1d0 [ 4557.360689] [c00000042844b9e0] [c000000000a654b8] notify_die+0xb8/0x1c0 [ 4557.360693] [c00000042844ba40] [c0000000000181c4] do_break+0x54/0x100 [ 4557.360698] [c00000042844baf0] [c0000000000095a0] handle_dabr_fault+0x14/0x48 [ 4557.360704] --- Exception: 300 at SyS_getresgid+0xb0/0x170 [ 4557.360704] LR = SyS_getresgid+0x88/0x170 [ 4557.360709] [c00000042844be30] [c00000000000a188] system_call+0x38/0xb4 [ 4557.360713] BUG: sleeping function called from invalid context at kernel/mutex.c:576 [ 4557.360716] in_atomic(): 1, irqs_disabled(): 1, pid: 138777, name: trinity-c0 [ 4557.360720] INFO: lockdep is turned off. [ 4557.360722] irq event stamp: 9356 [ 4557.360725] hardirqs last enabled at (9355): [<c000000000a583c0>] __mutex_unlock_slowpath+0x120/0x2a0 [ 4557.360730] hardirqs last disabled at (9356): [<c000000000005a1c>] data_access_common+0x11c/0x180 [ 4557.360735] softirqs last enabled at (8688): [<c0000000002ce61c>] bdi_wakeup_thread_delayed+0x8c/0xb0 [ 4557.360742] softirqs last disabled at (8684): [<c000000000a5daec>] _raw_spin_lock_bh+0x2c/0xd0 [ 4557.360748] CPU: 0 PID: 138777 Comm: trinity-c0 Tainted: G W ------------ 3.10.0-379.el7.ppc64le.debug #1 [ 4557.360751] Call Trace: [ 4557.360754] [c00000042844b590] [c000000000019e18] show_stack+0x88/0x390 (unreliable) [ 4557.360760] [c00000042844b650] [c000000000a7ab04] dump_stack+0x30/0x44 [ 4557.360764] [c00000042844b670] [c000000000140e34] __might_sleep+0x1c4/0x2d0 [ 4557.360769] [c00000042844b6f0] [c000000000a55794] mutex_lock_nested+0x74/0x5b0 [ 4557.360774] [c00000042844b7f0] [c00000000026f67c] perf_event_ctx_lock_nested+0x15c/0x370 [ 4557.360779] [c00000042844b880] [c0000000002714b8] perf_event_disable+0x28/0xe0 [ 4557.360784] [c00000042844b8b0] [c000000000a602a4] hw_breakpoint_handler+0x204/0x310 [ 4557.360789] [c00000042844b950] [c000000000a65124] notifier_call_chain.constprop.6+0xa4/0x1d0 [ 4557.360793] [c00000042844b9e0] [c000000000a654b8] notify_die+0xb8/0x1c0 [ 4557.360798] [c00000042844ba40] [c0000000000181c4] do_break+0x54/0x100 [ 4557.360803] [c00000042844baf0] [c0000000000095a0] handle_dabr_fault+0x14/0x48 [ 4557.360809] --- Exception: 300 at SyS_getresgid+0xb0/0x170 [ 4557.360809] LR = SyS_getresgid+0x88/0x170 [ 4557.360814] [c00000042844be30] [c00000000000a188] system_call+0x38/0xb4
|  |