Hi,
Just caught this with v3.14-rc4 running with
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
full dmesg attached
[ 239.589213] ====================================================== [ 239.589214] [ INFO: possible circular locking dependency detected ] [ 239.589216] 3.15.0-rc4-fb+ #5 Not tainted [ 239.589217] ------------------------------------------------------- [ 239.589218] swapper/1/0 is trying to acquire lock: [ 239.589219] (&(&priv->lock)->rlock#2){-.....}, at: [<ffffffff814a6b98>] nouveau_therm_update+0x48/0x310 [ 239.589228] [ 239.589228] but task is already holding lock: [ 239.589230] (&(&priv->sensor.alarm_program_lock)->rlock){-.....}, at: [<ffffffff814a85a4>] alarm_timer_callback+0x54/0xe0 [ 239.589234] [ 239.589234] which lock already depends on the new lock. [ 239.589234] [ 239.589236] [ 239.589236] the existing dependency chain (in reverse order) is: [ 239.589237] [ 239.589237] -> #1 (&(&priv->sensor.alarm_program_lock)->rlock){-.....}: [ 239.589240] [<ffffffff810952e5>] lock_acquire+0xb5/0x160 [ 239.589243] [<ffffffff818ac6c6>] _raw_spin_lock_irqsave+0x56/0x90 [ 239.589247] [<ffffffff814a85a4>] alarm_timer_callback+0x54/0xe0 [ 239.589249] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589252] [<ffffffff814aa61e>] nv04_timer_alarm+0x7e/0xe0 [ 239.589255] [<ffffffff814a6dbd>] nouveau_therm_update+0x26d/0x310 [ 239.589257] [<ffffffff814a6e7a>] nouveau_therm_alarm+0x1a/0x20 [ 239.589259] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589261] [<ffffffff814aa6eb>] nv04_timer_intr+0x6b/0x90 [ 239.589263] [<ffffffff814a4451>] nouveau_mc_intr+0x141/0x1a0 [ 239.589265] [<ffffffff810a7777>] handle_irq_event_percpu+0x47/0x1d0 [ 239.589268] [<ffffffff810a793d>] handle_irq_event+0x3d/0x60 [ 239.589270] [<ffffffff810aa347>] handle_edge_irq+0x77/0x130 [ 239.589272] [<ffffffff8100488f>] handle_irq+0xbf/0x150 [ 239.589275] [<ffffffff818b75bf>] do_IRQ+0x4f/0xf0 [ 239.589277] [<ffffffff818acbb2>] ret_from_intr+0x0/0x1a [ 239.589279] [<ffffffff8160d147>] cpuidle_enter+0x17/0x20 [ 239.589283] [<ffffffff8108ced2>] cpu_startup_entry+0x242/0x470 [ 239.589287] [<ffffffff81897876>] rest_init+0xc6/0xd0 [ 239.589290] [<ffffffff8210de95>] start_kernel+0x386/0x391 [ 239.589293] [<ffffffff8210d5ca>] x86_64_start_reservations+0x2a/0x2c [ 239.589296] [<ffffffff8210d70a>] x86_64_start_kernel+0x13e/0x14d [ 239.589297] [ 239.589297] -> #0 (&(&priv->lock)->rlock#2){-.....}: [ 239.589300] [<ffffffff81094b65>] __lock_acquire+0x1565/0x1c30 [ 239.589302] [<ffffffff810952e5>] lock_acquire+0xb5/0x160 [ 239.589304] [<ffffffff818ac6c6>] _raw_spin_lock_irqsave+0x56/0x90 [ 239.589306] [<ffffffff814a6b98>] nouveau_therm_update+0x48/0x310 [ 239.589308] [<ffffffff814a6e7a>] nouveau_therm_alarm+0x1a/0x20 [ 239.589310] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589312] [<ffffffff814aa61e>] nv04_timer_alarm+0x7e/0xe0 [ 239.589315] [<ffffffff814a862d>] alarm_timer_callback+0xdd/0xe0 [ 239.589317] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589319] [<ffffffff814aa6eb>] nv04_timer_intr+0x6b/0x90 [ 239.589321] [<ffffffff814a4451>] nouveau_mc_intr+0x141/0x1a0 [ 239.589323] [<ffffffff810a7777>] handle_irq_event_percpu+0x47/0x1d0 [ 239.589325] [<ffffffff810a793d>] handle_irq_event+0x3d/0x60 [ 239.589327] [<ffffffff810aa347>] handle_edge_irq+0x77/0x130 [ 239.589329] [<ffffffff8100488f>] handle_irq+0xbf/0x150 [ 239.589330] [<ffffffff818b75bf>] do_IRQ+0x4f/0xf0 [ 239.589332] [<ffffffff818acbb2>] ret_from_intr+0x0/0x1a [ 239.589334] [<ffffffff8160d147>] cpuidle_enter+0x17/0x20 [ 239.589336] [<ffffffff8108ced2>] cpu_startup_entry+0x242/0x470 [ 239.589338] [<ffffffff810300b8>] start_secondary+0x1a8/0x210 [ 239.589343] [ 239.589343] other info that might help us debug this: [ 239.589343] [ 239.589344] Possible unsafe locking scenario: [ 239.589344] [ 239.589345] CPU0 CPU1 [ 239.589346] ---- ---- [ 239.589347] lock(&(&priv->sensor.alarm_program_lock)->rlock); [ 239.589349] lock(&(&priv->lock)->rlock#2); [ 239.589351] lock(&(&priv->sensor.alarm_program_lock)->rlock); [ 239.589353] lock(&(&priv->lock)->rlock#2); [ 239.589355] [ 239.589355] *** DEADLOCK *** [ 239.589355] [ 239.589357] 1 lock held by swapper/1/0: [ 239.589358] #0: (&(&priv->sensor.alarm_program_lock)->rlock){-.....}, at: [<ffffffff814a85a4>] alarm_timer_callback+0x54/0xe0 [ 239.589362] [ 239.589362] stack backtrace: [ 239.589364] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.15.0-rc4-fb+ #5 [ 239.589366] Hardware name: LENOVO 10120/ , BIOS I1KT15AUS 03/28/2013 [ 239.589367] ffffffff826667d0 ffff880330803b30 ffffffff818a1afc ffffffff826667d0 [ 239.589370] ffff880330803b70 ffffffff8189caa9 ffff880330803bc0 ffff88032e70c778 [ 239.589372] 0000000000000001 0000000000000001 ffff88032e70bf30 ffff88032e70c778 [ 239.589375] Call Trace: [ 239.589376] <IRQ> [<ffffffff818a1afc>] dump_stack+0x4d/0x66 [ 239.589382] [<ffffffff8189caa9>] print_circular_bug+0x200/0x20e [ 239.589384] [<ffffffff81094b65>] __lock_acquire+0x1565/0x1c30 [ 239.589386] [<ffffffff810939b3>] ? __lock_acquire+0x3b3/0x1c30 [ 239.589388] [<ffffffff810952e5>] lock_acquire+0xb5/0x160 [ 239.589391] [<ffffffff814a6b98>] ? nouveau_therm_update+0x48/0x310 [ 239.589393] [<ffffffff818ac6c6>] _raw_spin_lock_irqsave+0x56/0x90 [ 239.589395] [<ffffffff814a6b98>] ? nouveau_therm_update+0x48/0x310 [ 239.589398] [<ffffffff814a6b98>] nouveau_therm_update+0x48/0x310 [ 239.589400] [<ffffffff814a6e7a>] nouveau_therm_alarm+0x1a/0x20 [ 239.589402] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589405] [<ffffffff814aa61e>] nv04_timer_alarm+0x7e/0xe0 [ 239.589407] [<ffffffff814a862d>] alarm_timer_callback+0xdd/0xe0 [ 239.589410] [<ffffffff814aa55e>] nv04_timer_alarm_trigger+0x12e/0x170 [ 239.589412] [<ffffffff814aa6eb>] nv04_timer_intr+0x6b/0x90 [ 239.589414] [<ffffffff814a4451>] nouveau_mc_intr+0x141/0x1a0 [ 239.589416] [<ffffffff810a7777>] handle_irq_event_percpu+0x47/0x1d0 [ 239.589419] [<ffffffff810a793d>] handle_irq_event+0x3d/0x60 [ 239.589421] [<ffffffff810aa347>] handle_edge_irq+0x77/0x130 [ 239.589423] [<ffffffff8100488f>] handle_irq+0xbf/0x150 [ 239.589425] [<ffffffff818b0bb6>] ? atomic_notifier_call_chain+0x16/0x20 [ 239.589427] [<ffffffff818b75bf>] do_IRQ+0x4f/0xf0 [ 239.589430] [<ffffffff818acbb2>] common_interrupt+0x72/0x72 [ 239.589431] <EOI> [<ffffffff8160d097>] ? cpuidle_enter_state+0x57/0xd0 [ 239.589436] [<ffffffff8160d090>] ? cpuidle_enter_state+0x50/0xd0 [ 239.589438] [<ffffffff8160d147>] cpuidle_enter+0x17/0x20 [ 239.589440] [<ffffffff8108ced2>] cpu_startup_entry+0x242/0x470 [ 239.589443] [<ffffffff810300b8>] start_secondary+0x1a8/0x210
On Tue, May 6, 2014 at 4:29 PM, Felipe Balbi balbi@ti.com wrote:
I believe this is fixed by https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6...
Try a more recent kernel? Or did you perhaps mean that you were running into this with v3.15-rc4, in which case that commit didn't fix the issue hard enough...
-ilia
dri-devel@lists.freedesktop.org