From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 31782] New: nouveau: lockdep spew
Date: Thu, 24 Mar 2011 09:51:44 GMT
Message-ID:
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Return-path:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.sourceforge.net
To: dri-devel@lists.sourceforge.net
List-Id: dri-devel@lists.freedesktop.org
https://bugzilla.kernel.org/show_bug.cgi?id=31782
Summary: nouveau: lockdep spew
Product: Drivers
Version: 2.5
Kernel Version: 2.6.38
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI - non Intel)
AssignedTo: drivers_video-dri@kernel-bugs.osdl.org
ReportedBy: johannes@sipsolutions.net
Regression: Yes
[ 17.225800] =========================================================
[ 17.225805] [ INFO: possible irq lock inversion dependency detected ]
[ 17.225808] 2.6.38-wl-65107-gc5f1016-dirty #211
[ 17.225810] ---------------------------------------------------------
[ 17.225813] modprobe/2506 just changed the state of lock:
[ 17.225816] (&(&dev_priv->context_switch_lock)->rlock){-.....}, at:
[] nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.225842] but this lock took another, HARDIRQ-unsafe lock in the past:
[ 17.225844] (&(&dev_priv->ramin_lock)->rlock){+.+...}
[ 17.225847]
[ 17.225848] and interrupts could create inverse lock ordering between them.
[ 17.225849]
[ 17.225851]
[ 17.225852] other info that might help us debug this:
[ 17.225855] 5 locks held by modprobe/2506:
[ 17.225857] #0: (&__lockdep_no_validate__){+.+.+.}, at:
[] __driver_attach+0x5b/0xb0
[ 17.225869] #1: (&__lockdep_no_validate__){+.+.+.}, at:
[] __driver_attach+0x69/0xb0
[ 17.225877] #2: (drm_global_mutex){+.+.+.}, at: []
drm_get_pci_dev+0x102/0x2c0 [drm]
[ 17.225896] #3: (&chan->mutex){+.+.+.}, at: []
nouveau_channel_alloc+0xc4/0x470 [nouveau]
[ 17.225915] #4: (&sb->s_type->i_mutex_key#2){+.+.+.}, at:
[] debugfs_create_by_name+0x57/0x1d0
[ 17.225926]
[ 17.225927] the shortest dependencies between 2nd lock and 1st lock:
[ 17.225953] -> (&(&dev_priv->ramin_lock)->rlock){+.+...} ops: 24860 {
[ 17.225960] HARDIRQ-ON-W at:
[ 17.225963] []
mark_irqflags+0x13b/0x1c0
[ 17.225970] []
__lock_acquire+0x5ac/0xa80
[ 17.225975] []
lock_acquire+0x9e/0x1d0
[ 17.225980] []
_raw_spin_lock+0x40/0x80
[ 17.225986] []
nouveau_gpuobj_new+0xb1/0x2d0 [nouveau]
[ 17.226002] []
nv50_instmem_init+0x13c/0x530 [nouveau]
[ 17.226024] []
nouveau_card_init+0x12b/0x3d0 [nouveau]
[ 17.226039] []
nouveau_load+0x329/0x550 [nouveau]
[ 17.226055] []
drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.226066] []
nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.226084] []
local_pci_probe+0x5f/0xd0
[ 17.226090] []
pci_device_probe+0x88/0xb0
[ 17.226095] []
really_probe+0x68/0x190
[ 17.226100] []
driver_probe_device+0x45/0x70
[ 17.226105] []
__driver_attach+0xab/0xb0
[ 17.226110] []
bus_for_each_dev+0x66/0x90
[ 17.226115] []
driver_attach+0x1e/0x20
[ 17.226120] []
bus_add_driver+0x158/0x290
[ 17.226125] []
driver_register+0x74/0x130
[ 17.226130] []
__pci_register_driver+0x66/0xe0
[ 17.226135] []
drm_pci_init+0xdf/0xf0 [drm]
[ 17.226146] []
drm_init+0x58/0x70 [drm]
[ 17.226155] []
nouveau_init+0x48/0x4a [nouveau]
[ 17.226169] []
do_one_initcall+0x44/0x180
[ 17.226175] []
sys_init_module+0xca/0x210
[ 17.226181] []
system_call_fastpath+0x16/0x1b
[ 17.226186] SOFTIRQ-ON-W at:
[ 17.226189] []
mark_irqflags+0x15f/0x1c0
[ 17.226194] []
__lock_acquire+0x5ac/0xa80
[ 17.226199] []
lock_acquire+0x9e/0x1d0
[ 17.226204] []
_raw_spin_lock+0x40/0x80
[ 17.226208] []
nouveau_gpuobj_new+0xb1/0x2d0 [nouveau]
[ 17.226225] []
nv50_instmem_init+0x13c/0x530 [nouveau]
[ 17.226244] []
nouveau_card_init+0x12b/0x3d0 [nouveau]
[ 17.226260] []
nouveau_load+0x329/0x550 [nouveau]
[ 17.226275] []
drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.226286] []
nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.226303] []
local_pci_probe+0x5f/0xd0
[ 17.226309] []
pci_device_probe+0x88/0xb0
[ 17.226314] []
really_probe+0x68/0x190
[ 17.226319] []
driver_probe_device+0x45/0x70
[ 17.226324] []
__driver_attach+0xab/0xb0
[ 17.226329] []
bus_for_each_dev+0x66/0x90
[ 17.226334] []
driver_attach+0x1e/0x20
[ 17.226339] []
bus_add_driver+0x158/0x290
[ 17.226343] []
driver_register+0x74/0x130
[ 17.226348] []
__pci_register_driver+0x66/0xe0
[ 17.226354] []
drm_pci_init+0xdf/0xf0 [drm]
[ 17.226364] []
drm_init+0x58/0x70 [drm]
[ 17.226373] []
nouveau_init+0x48/0x4a [nouveau]
[ 17.226387] []
do_one_initcall+0x44/0x180
[ 17.226392] []
sys_init_module+0xca/0x210
[ 17.226397] []
system_call_fastpath+0x16/0x1b
[ 17.226402] INITIAL USE at:
[ 17.226405] []
__lock_acquire+0x3da/0xa80
[ 17.226410] []
lock_acquire+0x9e/0x1d0
[ 17.226415] []
_raw_spin_lock+0x40/0x80
[ 17.226420] []
nouveau_gpuobj_new+0xb1/0x2d0 [nouveau]
[ 17.226436] []
nv50_instmem_init+0x13c/0x530 [nouveau]
[ 17.226456] []
nouveau_card_init+0x12b/0x3d0 [nouveau]
[ 17.226471] []
nouveau_load+0x329/0x550 [nouveau]
[ 17.226486] []
drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.226497] []
nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.226514] []
local_pci_probe+0x5f/0xd0
[ 17.226520] []
pci_device_probe+0x88/0xb0
[ 17.226525] []
really_probe+0x68/0x190
[ 17.226530] []
driver_probe_device+0x45/0x70
[ 17.226535] []
__driver_attach+0xab/0xb0
[ 17.226540] []
bus_for_each_dev+0x66/0x90
[ 17.226545] []
driver_attach+0x1e/0x20
[ 17.226549] []
bus_add_driver+0x158/0x290
[ 17.226554] []
driver_register+0x74/0x130
[ 17.226559] []
__pci_register_driver+0x66/0xe0
[ 17.226564] []
drm_pci_init+0xdf/0xf0 [drm]
[ 17.226575] []
drm_init+0x58/0x70 [drm]
[ 17.226583] []
nouveau_init+0x48/0x4a [nouveau]
[ 17.226597] []
do_one_initcall+0x44/0x180
[ 17.226602] []
sys_init_module+0xca/0x210
[ 17.226607] []
system_call_fastpath+0x16/0x1b
[ 17.226612] }
[ 17.226614] ... key at: []
__key.34306+0x0/0xfffffffffffec192 [nouveau]
[ 17.226628] ... acquired at:
[ 17.226630] [] validate_chain.clone.19+0x5b1/0x6f0
[ 17.226634] [] __lock_acquire+0x49d/0xa80
[ 17.226638] [] lock_acquire+0x9e/0x1d0
[ 17.226643] [] _raw_spin_lock+0x40/0x80
[ 17.226647] [] nv84_instmem_flush+0x22/0xa0 [nouveau]
[ 17.226666] [] nv50_fifo_create_context+0x26c/0x350
[nouveau]
[ 17.226685] [] nouveau_channel_alloc+0x22c/0x470
[nouveau]
[ 17.226700] [] nouveau_card_init_channel+0x51/0x170
[nouveau]
[ 17.226715] [] nouveau_card_init+0x258/0x3d0 [nouveau]
[ 17.226730] [] nouveau_load+0x329/0x550 [nouveau]
[ 17.226745] [] drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.226755] [] nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.226772] [] local_pci_probe+0x5f/0xd0
[ 17.226777] [] pci_device_probe+0x88/0xb0
[ 17.226781] [] really_probe+0x68/0x190
[ 17.226786] [] driver_probe_device+0x45/0x70
[ 17.226791] [] __driver_attach+0xab/0xb0
[ 17.226795] [] bus_for_each_dev+0x66/0x90
[ 17.226800] [] driver_attach+0x1e/0x20
[ 17.226804] [] bus_add_driver+0x158/0x290
[ 17.226808] [] driver_register+0x74/0x130
[ 17.226813] [] __pci_register_driver+0x66/0xe0
[ 17.226817] [] drm_pci_init+0xdf/0xf0 [drm]
[ 17.226827] [] drm_init+0x58/0x70 [drm]
[ 17.226836] [] nouveau_init+0x48/0x4a [nouveau]
[ 17.226849] [] do_one_initcall+0x44/0x180
[ 17.226853] [] sys_init_module+0xca/0x210
[ 17.226858] [] system_call_fastpath+0x16/0x1b
[ 17.226862]
[ 17.226864] -> (&(&dev_priv->context_switch_lock)->rlock){-.....} ops: 6 {
[ 17.226870] IN-HARDIRQ-W at:
[ 17.226873] []
mark_irqflags+0x19d/0x1c0
[ 17.226878] []
__lock_acquire+0x5ac/0xa80
[ 17.226883] []
lock_acquire+0x9e/0x1d0
[ 17.226887] []
_raw_spin_lock_irqsave+0x52/0x90
[ 17.226892] []
nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.226909] []
handle_IRQ_event+0x79/0x2f0
[ 17.226915] []
handle_fasteoi_irq+0x7d/0x100
[ 17.226920] []
handle_irq+0x22/0x40
[ 17.226925] []
do_IRQ+0x5d/0xe0
[ 17.226930] []
ret_from_intr+0x0/0x13
[ 17.226935] []
mutex_lock_nested+0x73/0x3b0
[ 17.226940] []
debugfs_create_by_name+0x57/0x1d0
[ 17.226945] []
debugfs_create_file+0x88/0xb0
[ 17.226950] []
debugfs_create_dir+0x1b/0x20
[ 17.226954] []
nouveau_debugfs_channel_init+0xca/0xf0 [nouveau]
[ 17.226974] []
nouveau_channel_alloc+0x2c1/0x470 [nouveau]
[ 17.226990] []
nouveau_card_init_channel+0x51/0x170 [nouveau]
[ 17.227005] []
nouveau_card_init+0x258/0x3d0 [nouveau]
[ 17.227021] []
nouveau_load+0x329/0x550 [nouveau]
[ 17.227036] []
drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.227047] []
nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.227065] []
local_pci_probe+0x5f/0xd0
[ 17.227070] []
pci_device_probe+0x88/0xb0
[ 17.227075] []
really_probe+0x68/0x190
[ 17.227080] []
driver_probe_device+0x45/0x70
[ 17.227085] []
__driver_attach+0xab/0xb0
[ 17.227090] []
bus_for_each_dev+0x66/0x90
[ 17.227095] []
driver_attach+0x1e/0x20
[ 17.227100] []
bus_add_driver+0x158/0x290
[ 17.227105] []
driver_register+0x74/0x130
[ 17.227110] []
__pci_register_driver+0x66/0xe0
[ 17.227115] []
drm_pci_init+0xdf/0xf0 [drm]
[ 17.227125] []
drm_init+0x58/0x70 [drm]
[ 17.227134] []
nouveau_init+0x48/0x4a [nouveau]
[ 17.227148] []
do_one_initcall+0x44/0x180
[ 17.227153] []
sys_init_module+0xca/0x210
[ 17.227158] []
system_call_fastpath+0x16/0x1b
[ 17.227163] INITIAL USE at:
[ 17.227166] []
__lock_acquire+0x3da/0xa80
[ 17.227171] []
lock_acquire+0x9e/0x1d0
[ 17.227175] []
_raw_spin_lock_irqsave+0x52/0x90
[ 17.227180] []
nouveau_irq_register+0x3f/0x70 [nouveau]
[ 17.227197] []
nv50_gpio_init+0x82/0x150 [nouveau]
[ 17.227217] []
nouveau_card_init+0x168/0x3d0 [nouveau]
[ 17.227233] []
nouveau_load+0x329/0x550 [nouveau]
[ 17.227248] []
drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.227259] []
nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.227276] []
local_pci_probe+0x5f/0xd0
[ 17.227281] []
pci_device_probe+0x88/0xb0
[ 17.227286] []
really_probe+0x68/0x190
[ 17.227291] []
driver_probe_device+0x45/0x70
[ 17.227296] []
__driver_attach+0xab/0xb0
[ 17.227301] []
bus_for_each_dev+0x66/0x90
[ 17.227306] []
driver_attach+0x1e/0x20
[ 17.227310] []
bus_add_driver+0x158/0x290
[ 17.227315] []
driver_register+0x74/0x130
[ 17.227320] []
__pci_register_driver+0x66/0xe0
[ 17.227325] []
drm_pci_init+0xdf/0xf0 [drm]
[ 17.227336] []
drm_init+0x58/0x70 [drm]
[ 17.227344] []
nouveau_init+0x48/0x4a [nouveau]
[ 17.227358] []
do_one_initcall+0x44/0x180
[ 17.227363] []
sys_init_module+0xca/0x210
[ 17.227368] []
system_call_fastpath+0x16/0x1b
[ 17.227373] }
[ 17.227374] ... key at: []
__key.34928+0x0/0xfffffffffffec1b2 [nouveau]
[ 17.227388] ... acquired at:
[ 17.227390] [] check_usage_forwards+0x89/0x100
[ 17.227395] [] mark_lock_irq+0x99/0x2b0
[ 17.227399] [] mark_lock+0x171/0x420
[ 17.227403] [] mark_irqflags+0x19d/0x1c0
[ 17.227407] [] __lock_acquire+0x5ac/0xa80
[ 17.227411] [] lock_acquire+0x9e/0x1d0
[ 17.227416] [] _raw_spin_lock_irqsave+0x52/0x90
[ 17.227420] [] nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.227436] [] handle_IRQ_event+0x79/0x2f0
[ 17.227440] [] handle_fasteoi_irq+0x7d/0x100
[ 17.227445] [] handle_irq+0x22/0x40
[ 17.227449] [] do_IRQ+0x5d/0xe0
[ 17.227453] [] ret_from_intr+0x0/0x13
[ 17.227457] [] mutex_lock_nested+0x73/0x3b0
[ 17.227461] [] debugfs_create_by_name+0x57/0x1d0
[ 17.227466] [] debugfs_create_file+0x88/0xb0
[ 17.227470] [] debugfs_create_dir+0x1b/0x20
[ 17.227474] [] nouveau_debugfs_channel_init+0xca/0xf0
[nouveau]
[ 17.227493] [] nouveau_channel_alloc+0x2c1/0x470
[nouveau]
[ 17.227508] [] nouveau_card_init_channel+0x51/0x170
[nouveau]
[ 17.227523] [] nouveau_card_init+0x258/0x3d0 [nouveau]
[ 17.227538] [] nouveau_load+0x329/0x550 [nouveau]
[ 17.227553] [] drm_get_pci_dev+0x190/0x2c0 [drm]
[ 17.227563] [] nouveau_pci_probe+0x15/0x17 [nouveau]
[ 17.227580] [] local_pci_probe+0x5f/0xd0
[ 17.227585] [] pci_device_probe+0x88/0xb0
[ 17.227589] [] really_probe+0x68/0x190
[ 17.227594] [] driver_probe_device+0x45/0x70
[ 17.227598] [] __driver_attach+0xab/0xb0
[ 17.227602] [] bus_for_each_dev+0x66/0x90
[ 17.227607] [] driver_attach+0x1e/0x20
[ 17.227611] [] bus_add_driver+0x158/0x290
[ 17.227616] [] driver_register+0x74/0x130
[ 17.227620] [] __pci_register_driver+0x66/0xe0
[ 17.227625] [] drm_pci_init+0xdf/0xf0 [drm]
[ 17.227635] [] drm_init+0x58/0x70 [drm]
[ 17.227643] [] nouveau_init+0x48/0x4a [nouveau]
[ 17.227656] [] do_one_initcall+0x44/0x180
[ 17.227661] [] sys_init_module+0xca/0x210
[ 17.227665] [] system_call_fastpath+0x16/0x1b
[ 17.227669]
[ 17.227671]
[ 17.227672] stack backtrace:
[ 17.227675] Pid: 2506, comm: modprobe Not tainted
2.6.38-wl-65107-gc5f1016-dirty #211
[ 17.227678] Call Trace:
[ 17.227680] [] ?
print_irq_inversion_bug+0x137/0x160
[ 17.227689] [] ? check_usage_forwards+0x89/0x100
[ 17.227695] [] ? sched_clock_local+0x25/0x90
[ 17.227699] [] ? check_usage_forwards+0x0/0x100
[ 17.227704] [] ? mark_lock_irq+0x99/0x2b0
[ 17.227708] [] ? save_stack_trace+0x2d/0x50
[ 17.227713] [] ? mark_lock+0x171/0x420
[ 17.227717] [] ? mark_irqflags+0x19d/0x1c0
[ 17.227722] [] ? __lock_acquire+0x5ac/0xa80
[ 17.227726] [] ? _raw_spin_unlock+0x55/0x60
[ 17.227731] [] ? native_sched_clock+0x29/0x80
[ 17.227735] [] ? lock_acquire+0x9e/0x1d0
[ 17.227751] [] ? nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.227756] [] ? _raw_spin_lock_irqsave+0x52/0x90
[ 17.227772] [] ? nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.227776] [] ? sched_clock_cpu+0xa8/0x120
[ 17.227792] [] ? nouveau_irq_handler+0x5f/0x130 [nouveau]
[ 17.227797] [] ? put_lock_stats.clone.14+0xe/0x40
[ 17.227801] [] ? lock_release_holdtime+0xa8/0x150
[ 17.227806] [] ? handle_IRQ_event+0x79/0x2f0
[ 17.227810] [] ? handle_fasteoi_irq+0x72/0x100
[ 17.227816] [] ? handle_fasteoi_irq+0x7d/0x100
[ 17.227820] [] ? handle_irq+0x22/0x40
[ 17.227824] [] ? do_IRQ+0x5d/0xe0
[ 17.227828] [] ? ret_from_intr+0x0/0x13
[ 17.227831] [] ? lock_acquire+0xb3/0x1d0
[ 17.227840] [] ? debugfs_create_by_name+0x57/0x1d0
[ 17.227844] [] ? sched_clock_cpu+0xa8/0x120
[ 17.227849] [] ? mutex_lock_nested+0x73/0x3b0
[ 17.227853] [