When I run perf command on my pandaboard es with upstream kernel 3.12-rc2 kernel. my kernel dump some ops once. but hard to reproduce this issue. Anyone has interesting on this?
$sudo ~/bin/perf record -e cpu-clock -e task-clock -e page-faults -e cs -g -a dd if=/dev/mmcblk0p1 of=/dev/null 147424+0 records in 147424+0 records out 75481088 bytes (75 MB) copied, 3.70752 s, 20.4 MB/s [ perf record: Woken up 26 times to write data ] [ perf record: Captured and wrote 6.715 MB perf.data (~293383 samples) ]
and dmesg show:
[25429.818237] hrtimer: interrupt took 183106 ns [25430.221008] [25430.221405] ============================================= [25430.228149] [ INFO: possible recursive locking detected ] [25430.234100] 3.12.0-rc2 #2 Not tainted [25430.237945] --------------------------------------------- [25430.243743] perf/7789 is trying to acquire lock: [25430.246154] (&mm->mmap_sem){++++++}, at: [<c053578c>] do_page_fault.part.9+0x8c/0x3bc [25430.246154] [25430.246154] but task is already holding lock: [25430.263305] (&mm->mmap_sem){++++++}, at: [<c0535770>] do_page_fault.part.9+0x70/0x3bc [25430.271759] [25430.271759] other info that might help us debug this: [25430.278594] Possible unsafe locking scenario: [25430.278594] [25430.284820] CPU0 [25430.287567] ---- [25430.290008] lock(&mm->mmap_sem); [25430.293762] lock(&mm->mmap_sem); [25430.297424] [25430.297424] *** DEADLOCK *** [25430.297424] [25430.303588] May be due to missing lock nesting notation [25430.303588] [25430.310943] 5 locks held by perf/7789: [25430.314788] #0: (sb_writers#7){.+.+.+}, at: [<c0114400>] vfs_write+0x174/0x188 [25430.322753] #1: (&sb->s_type->i_mutex_key#9){+.+.+.}, at: [<c00d91e4>] generic_file_aio_write+0x44/0xa0 [25430.333038] #2: (&mm->mmap_sem){++++++}, at: [<c0535770>] do_page_fault.part.9+0x70/0x3bc [25430.341888] #3: (rcu_read_lock){.+.+.+}, at: [<c00d3904>] __perf_sw_event+0x24/0x204 [25430.350402] #4: (rcu_read_lock){.+.+.+}, at: [<c00d2b14>] __perf_event_overflow+0x128/0x2b4 [25430.359344] [25430.359344] stack backtrace: [25430.364135] CPU: 1 PID: 7789 Comm: perf Not tainted 3.12.0-rc2 #2 [25430.370513] [<c001c7b0>] (unwind_backtrace+0x0/0x130) from [<c00187f8>] (show_stack+0x10/0x14) [25430.377624] [<c00187f8>] (show_stack+0x10/0x14) from [<c052dcd0>] (dump_stack+0x78/0x94) [25430.388336] [<c052dcd0>] (dump_stack+0x78/0x94) from [<c009fa8c>] (__lock_acquire+0x14d0/0x1b8c) [25430.397125] [<c009fa8c>] (__lock_acquire+0x14d0/0x1b8c) from [<c00a0694>] (lock_acquire+0x9c/0x104) [25430.407348] [<c00a0694>] (lock_acquire+0x9c/0x104) from [<c05314c8>] (down_read+0x30/0x40) [25430.415344] [<c05314c8>] (down_read+0x30/0x40) from [<c053578c>] (do_page_fault.part.9+0x8c/0x3bc) [25430.425567] [<c053578c>] (do_page_fault.part.9+0x8c/0x3bc) from [<c0535b30>] (do_page_fault+0x74/0x84) [25430.435607] [<c0535b30>] (do_page_fault+0x74/0x84) from [<c000839c>] (do_DataAbort+0x34/0x98) [25430.444335] [<c000839c>] (do_DataAbort+0x34/0x98) from [<c0533ea4>] (__dabt_svc+0x44/0x80) [25430.453460] Exception stack(0xedf0b9a0 to 0xedf0b9e8) [25430.458831] b9a0: edf0ba14 0007ca5c ffffffec 00000000 0000007e 00000000 ede0d000 0007ca5c