3.8.0-rc7, nouveau, possible recursive locking, nouveau_instobj_create_ and nv50_disp_data_ctor

Denys Fedoryshchenko denys at visp.net.lb
Fri Feb 15 14:57:07 PST 2013


Hi

Booted on Toshiba laptop, x86_64, NVIDIA Corporation GT218 [GeForce 
310M], latest rc, and got this.
Please let me know if you need additional information.

[   16.595094] [TTM] Zone   dma32: Available graphics memory: 2097152 
kiB
[   16.595096] [TTM] Initializing pool allocator
[   16.595147] [TTM] Initializing DMA pool allocator
[   16.600363] nouveau  [     DRM] VRAM: 512 MiB
[   16.600367] nouveau  [     DRM] GART: 512 MiB
[   16.600387] nouveau  [     DRM] BIT BIOS found
[   16.600391] nouveau  [     DRM] Bios version 70.18.5f.00
[   16.600394] nouveau  [     DRM] TMDS table version 2.0
[   16.600397] nouveau  [     DRM] DCB version 4.0
[   16.600400] nouveau  [     DRM] DCB outp 00: 01000323 00010034
[   16.600419] nouveau  [     DRM] DCB outp 01: 02011300 00000000
[   16.600421] nouveau  [     DRM] DCB outp 02: 08022382 00020010
[   16.600424] nouveau  [     DRM] DCB conn 00: 00000040
[   16.600427] nouveau  [     DRM] DCB conn 01: 00000100
[   16.600430] nouveau  [     DRM] DCB conn 02: 00002261
[   16.677661]
[   16.678006] =============================================
[   16.678006] [ INFO: possible recursive locking detected ]
[   16.678006] 3.8.0-rc7-lap #1 Tainted: G        W
[   16.678006] ---------------------------------------------
[   16.678006] udevd/1236 is trying to acquire lock:
[   16.678006]  (&subdev->mutex){+.+.+.}, at: [<ffffffffa0291ca4>] 
nouveau_instobj_create_+0x3c/0x7a [nouveau]
[   16.678006]
[   16.678006] but task is already holding lock:
[   16.678006]  (&subdev->mutex){+.+.+.}, at: [<ffffffffa02993be>] 
nv50_disp_data_ctor+0x40/0xaf [nouveau]
[   16.678006]
[   16.678006] other info that might help us debug this:
[   16.678006]  Possible unsafe locking scenario:
[   16.678006]
[   16.678006]        CPU0
[   16.678006]        ----
[   16.678006]   lock(&subdev->mutex);
[   16.678006]   lock(&subdev->mutex);
[   16.678006]
[   16.678006]  *** DEADLOCK ***
[   16.678006]
[   16.678006]  May be due to missing lock nesting notation
[   16.678006]
[   16.678006] 4 locks held by udevd/1236:
[   16.678006]  #0:  (&__lockdep_no_validate__){......}, at: 
[<ffffffff812daaf4>] device_lock+0xf/0x11
[   16.678006]  #1:  (&__lockdep_no_validate__){......}, at: 
[<ffffffff812daaf4>] device_lock+0xf/0x11
[   16.678006]  #2:  (drm_global_mutex){+.+.+.}, at: 
[<ffffffff812c6fa7>] drm_get_pci_dev+0xb9/0x265
[   16.678006]  #3:  (&subdev->mutex){+.+.+.}, at: [<ffffffffa02993be>] 
nv50_disp_data_ctor+0x40/0xaf [nouveau]
[   16.678006]
[   16.678006] stack backtrace:
[   16.678006] Pid: 1236, comm: udevd Tainted: G        W    
3.8.0-rc7-lap #1
[   16.678006] Call Trace:
[   16.678006]  [<ffffffff81070969>] __lock_acquire+0xaa2/0xebc
[   16.678006]  [<ffffffff81077bd4>] ? __module_text_address+0xd/0x5a
[   16.678006]  [<ffffffff8107b745>] ? is_module_text_address+0x1d/0x29
[   16.678006]  [<ffffffff810711a4>] lock_acquire+0x7e/0x94
[   16.678006]  [<ffffffffa0291ca4>] ? 
nouveau_instobj_create_+0x3c/0x7a [nouveau]
[   16.678006]  [<ffffffff815372a3>] __mutex_lock_common+0x5c/0x379
[   16.678006]  [<ffffffffa0291ca4>] ? 
nouveau_instobj_create_+0x3c/0x7a [nouveau]
[   16.678006]  [<ffffffffa0291ca4>] ? 
nouveau_instobj_create_+0x3c/0x7a [nouveau]
[   16.678006]  [<ffffffff815376bb>] mutex_lock_nested+0x3b/0x40
[   16.678006]  [<ffffffffa0291ca4>] nouveau_instobj_create_+0x3c/0x7a 
[nouveau]
[   16.678006]  [<ffffffffa029275b>] nv50_instobj_ctor+0x45/0xde 
[nouveau]
[   16.678006]  [<ffffffffa027c893>] nouveau_object_ctor+0x28/0x9c 
[nouveau]
[   16.678006]  [<ffffffffa029259c>] nv50_instmem_alloc+0x21/0x23 
[nouveau]
[   16.678006]  [<ffffffffa027b3af>] nouveau_gpuobj_create_+0xaa/0x22a 
[nouveau]
[   16.678006]  [<ffffffff810715e6>] ? 
trace_hardirqs_on_caller+0x121/0x158
[   16.678006]  [<ffffffffa027a366>] nouveau_engctx_create_+0xaf/0x199 
[nouveau]
[   16.678006]  [<ffffffffa029940a>] nv50_disp_data_ctor+0x8c/0xaf 
[nouveau]
[   16.678006]  [<ffffffffa027db0d>] ? nouveau_subdev_reset+0x52/0x56 
[nouveau]
[   16.678006]  [<ffffffffa027c893>] nouveau_object_ctor+0x28/0x9c 
[nouveau]
[   16.678006]  [<ffffffffa027d0a3>] nouveau_object_new+0x129/0x1fb 
[nouveau]
[   16.678006]  [<ffffffffa02f2458>] nv50_display_create+0x158/0x7c4 
[nouveau]
[   16.678006]  [<ffffffff81045117>] ? __cancel_work_timer+0x81/0xaf
[   16.678006]  [<ffffffff81045132>] ? __cancel_work_timer+0x9c/0xaf
[   16.678006]  [<ffffffffa02e16b5>] nouveau_display_create+0x40a/0x466 
[nouveau]
[   16.678006]  [<ffffffffa02d4d7c>] nouveau_drm_load+0x245/0x4c0 
[nouveau]
[   16.678006]  [<ffffffff812d9092>] ? device_register+0x19/0x1e
[   16.678006]  [<ffffffff812c5db0>] ? drm_get_minor+0x226/0x280
[   16.678006]  [<ffffffff812c7048>] drm_get_pci_dev+0x15a/0x265
[   16.678006]  [<ffffffff8123d7a0>] ? __pci_set_master+0x1f/0x67
[   16.678006]  [<ffffffffa02d47b5>] nouveau_drm_probe+0x1dd/0x201 
[nouveau]
[   16.678006]  [<ffffffff81240de3>] local_pci_probe+0x39/0x61
[   16.678006]  [<ffffffff81241ce5>] pci_device_probe+0x63/0x8d
[   16.678006]  [<ffffffff812dae6e>] ? driver_sysfs_add+0x6b/0x90
[   16.678006]  [<ffffffff812db172>] driver_probe_device+0xab/0x1c4
[   16.678006]  [<ffffffff812db2d5>] __driver_attach+0x4a/0x6b
[   16.678006]  [<ffffffff812db28b>] ? driver_probe_device+0x1c4/0x1c4
[   16.678006]  [<ffffffff812d9a0e>] bus_for_each_dev+0x57/0x84
[   16.678006]  [<ffffffff812dae01>] driver_attach+0x19/0x1b
[   16.678006]  [<ffffffff812da8c4>] bus_add_driver+0xa8/0x1fa
[   16.678006]  [<ffffffff812db7c5>] driver_register+0x8e/0x108
[   16.678006]  [<ffffffff81241df3>] __pci_register_driver+0x5f/0x64
[   16.678006]  [<ffffffff812c71d8>] drm_pci_init+0x85/0xea
[   16.678006]  [<ffffffffa0335000>] ? 0xffffffffa0334fff
[   16.678006]  [<ffffffffa0335000>] ? 0xffffffffa0334fff
[   16.678006]  [<ffffffffa033504d>] nouveau_drm_init+0x4d/0x4f 
[nouveau]
[   16.678006]  [<ffffffff81000232>] do_one_initcall+0x7a/0x130
[   16.678006]  [<ffffffff8107acd4>] load_module+0x168b/0x19c0
[   16.678006]  [<ffffffff8107863d>] ? free_notes_attrs+0x46/0x46
[   16.678006]  [<ffffffff8107b0b2>] sys_init_module+0xa9/0xab
[   16.678006]  [<ffffffff8153ef96>] system_call_fastpath+0x1a/0x1f
[   16.776320] [drm] Supports vblank timestamp caching Rev 1 
(10.10.2010).
[   16.777184] [drm] No driver support for vblank timestamp query.
[   16.778029] nouveau  [     DRM] ACPI backlight interface available, 
not registering our own



---
Denys Fedoryshchenko, Network Engineer, Virtual ISP S.A.L.


More information about the dri-devel mailing list