Re: [PATCH 2/6] Unified trace buffer

From: Ingo Molnar
Date: Tue Sep 30 2008 - 07:53:43 EST



a third type of lockdep splat surfaced in -tip testing:

=============================================
[ INFO: possible recursive locking detected ]
2.6.27-rc8-tip #37560
---------------------------------------------
swapper/0 is trying to acquire lock:
(&cpu_buffer->lock){.+..}, at: [<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e

but task is already holding lock:
(&cpu_buffer->lock){.+..}, at: [<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e

other info that might help us debug this:
2 locks held by swapper/0:
#0: (&rq->lock){++..}, at: [<ffffffff80754540>] schedule+0x16f/0x839
#1: (&cpu_buffer->lock){.+..}, at: [<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e

stack backtrace:
Pid: 0, comm: swapper Not tainted 2.6.27-rc8-tip #37560
Call Trace:
[<ffffffff802743b6>] __lock_acquire+0xb2a/0x116f
[<ffffffff80274a88>] lock_acquire+0x8d/0xba
[<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e
[<ffffffff80756b7c>] _spin_lock+0x29/0x34
[<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e
[<ffffffff8039d992>] __next_cpu+0x19/0x28
[<ffffffff802906ac>] ring_buffer_lock+0x46/0x5e
[<ffffffff80290762>] ring_buffer_reset+0x1c/0x58
[<ffffffff802942b9>] update_max_tr+0x5f/0x7f
[<ffffffff802954e0>] probe_wakeup_sched_switch+0x175/0x189
[<ffffffff80754aa8>] schedule+0x6d7/0x839
[<ffffffff80273de2>] __lock_acquire+0x556/0x116f
[<ffffffff807567bb>] trace_hardirqs_on_thunk+0x3a/0x3f
[<ffffffff802732c8>] trace_hardirqs_on_caller+0xb4/0xd7
[<ffffffff807567bb>] trace_hardirqs_on_thunk+0x3a/0x3f
[<ffffffff80269ea4>] ktime_get_ts+0x21/0x4a
[<ffffffff8026c44f>] getnstimeofday+0x38/0x98
[<ffffffff80269ea4>] ktime_get_ts+0x21/0x4a
[<ffffffff80227fc8>] native_sched_clock+0x8c/0xa6
[<ffffffff8026b485>] sched_clock_tick+0x78/0x80
[<ffffffff8027020f>] tick_nohz_restart_sched_tick+0x16b/0x178
[<ffffffff802732c8>] trace_hardirqs_on_caller+0xb4/0xd7
[<ffffffff8021fd70>] cpu_idle+0x77/0x79
driver: '2-0:1.0': driver_bound: bound to device 'hub'

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