Re: [Nouveau] nouveau lockdep splat

From: Peter Hurley
Date: Tue Mar 19 2013 - 16:40:38 EST


[ adding Ben Skeggs and Dave Airlie ]

On Tue, 2013-03-19 at 21:24 +0100, Borislav Petkov wrote:
> On Tue, Mar 05, 2013 at 05:30:52PM +0100, Lucas Stach wrote:
> > Dropping Tegra ML, it's not the place where Nouveau mails should go.
> > Adding Nouveau ML and Maarten, who probably knows Lockdep+Nouveau best.
>
> Ok,
>
> with the hope of having the right people on CC now (finally, thanks
> Lucas :-)), here's the same splat on -rc3. Someone better take a look
> soonish, please:

Also happens in next (on nv50 hardware).

> [ 0.541078] [drm] No driver support for vblank timestamp query.
> [ 0.541272] nouveau [ DRM] 3 available performance level(s)
> [ 0.541276] nouveau [ DRM] 0: core 135MHz shader 270MHz memory 135MHz voltage 900mV
> [ 0.541280] nouveau [ DRM] 1: core 405MHz shader 810MHz memory 405MHz voltage 900mV
> [ 0.541284] nouveau [ DRM] 3: core 520MHz shader 1230MHz memory 790MHz voltage 900mV
> [ 0.541287] nouveau [ DRM] c: core 405MHz shader 810MHz memory 405MHz voltage 900mV
> [ 0.559846] nouveau [ DRM] MM: using COPY for buffer copies
> [ 0.625371] nouveau [ DRM] allocated 1920x1080 fb: 0x70000, bo ffff88043b54f000
> [ 0.625441] fbcon: nouveaufb (fb0) is primary device
> [ 0.625555]
> [ 0.625556] =============================================
> [ 0.625556] [ INFO: possible recursive locking detected ]
> [ 0.625557] 3.9.0-rc3+ #25 Not tainted
> [ 0.625557] ---------------------------------------------
> [ 0.625558] swapper/0/1 is trying to acquire lock:
> [ 0.625562] (&dmac->lock){+.+...}, at: [<ffffffff8141bb63>] evo_wait+0x43/0xf0
> [ 0.625562]
> [ 0.625562] but task is already holding lock:
> [ 0.625564] (&dmac->lock){+.+...}, at: [<ffffffff8141bb63>] evo_wait+0x43/0xf0
> [ 0.625565]
> [ 0.625565] other info that might help us debug this:
> [ 0.625565] Possible unsafe locking scenario:
> [ 0.625565]
> [ 0.625565] CPU0
> [ 0.625565] ----
> [ 0.625566] lock(&dmac->lock);
> [ 0.625567] lock(&dmac->lock);
> [ 0.625567]
> [ 0.625567] *** DEADLOCK ***
> [ 0.625567]
> [ 0.625567] May be due to missing lock nesting notation
> [ 0.625567]
> [ 0.625568] 10 locks held by swapper/0/1:
> [ 0.625570] #0: (&__lockdep_no_validate__){......}, at: [<ffffffff814337cb>] __driver_attach+0x5b/0xb0
> [ 0.625572] #1: (&__lockdep_no_validate__){......}, at: [<ffffffff814337d9>] __driver_attach+0x69/0xb0
> [ 0.625575] #2: (drm_global_mutex){+.+.+.}, at: [<ffffffff8135a8e6>] drm_get_pci_dev+0xc6/0x2d0
> [ 0.625578] #3: (registration_lock){+.+.+.}, at: [<ffffffff812c8fc5>] register_framebuffer+0x25/0x310
> [ 0.625581] #4: (&fb_info->lock){+.+.+.}, at: [<ffffffff812c7ed6>] lock_fb_info+0x26/0x60
> [ 0.625583] #5: (console_lock){+.+.+.}, at: [<ffffffff812c915a>] register_framebuffer+0x1ba/0x310
> [ 0.625585] #6: ((fb_notifier_list).rwsem){.+.+.+}, at: [<ffffffff810695c2>] __blocking_notifier_call_chain+0x42/0x80
> [ 0.625587] #7: (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff8135e61a>] drm_modeset_lock_all+0x2a/0x70
> [ 0.625589] #8: (&crtc->mutex){+.+.+.}, at: [<ffffffff8135e644>] drm_modeset_lock_all+0x54/0x70
> [ 0.625591] #9: (&dmac->lock){+.+...}, at: [<ffffffff8141bb63>] evo_wait+0x43/0xf0
> [ 0.625591]
> [ 0.625591] stack backtrace:
> [ 0.625592] Pid: 1, comm: swapper/0 Not tainted 3.9.0-rc3+ #25
> [ 0.625593] Call Trace:
> [ 0.625595] [<ffffffff810953fb>] __lock_acquire+0x76b/0x1c20
> [ 0.625597] [<ffffffff8137f4ec>] ? dcb_table+0x1ac/0x2a0
> [ 0.625599] [<ffffffff81096e1a>] lock_acquire+0x8a/0x120
> [ 0.625600] [<ffffffff8141bb63>] ? evo_wait+0x43/0xf0
> [ 0.625602] [<ffffffff81615432>] ? mutex_lock_nested+0x292/0x330
> [ 0.625603] [<ffffffff8161520e>] mutex_lock_nested+0x6e/0x330
> [ 0.625605] [<ffffffff8141bb63>] ? evo_wait+0x43/0xf0
> [ 0.625606] [<ffffffff810976eb>] ? mark_held_locks+0x9b/0x100
> [ 0.625607] [<ffffffff8141bb63>] evo_wait+0x43/0xf0
> [ 0.625609] [<ffffffff8141e603>] nv50_display_flip_next+0x713/0x7a0
> [ 0.625611] [<ffffffff8161562e>] ? mutex_unlock+0xe/0x10
> [ 0.625612] [<ffffffff8141bc47>] ? evo_kick+0x37/0x40
> [ 0.625613] [<ffffffff8141e88e>] nv50_crtc_commit+0x10e/0x230
> [ 0.625615] [<ffffffff8134c295>] drm_crtc_helper_set_mode+0x365/0x510
> [ 0.625617] [<ffffffff8134d68e>] drm_crtc_helper_set_config+0xa4e/0xb70
> [ 0.625618] [<ffffffff8135f731>] drm_mode_set_config_internal+0x31/0x70
> [ 0.625619] [<ffffffff8134b791>] drm_fb_helper_set_par+0x71/0xf0
> [ 0.625621] [<ffffffff812d4234>] fbcon_init+0x514/0x5a0
> [ 0.625623] [<ffffffff8132cbfc>] visual_init+0xbc/0x120
> [ 0.625624] [<ffffffff8132f2b3>] do_bind_con_driver+0x163/0x320
> [ 0.625625] [<ffffffff8132f541>] do_take_over_console+0x61/0x70
> [ 0.625627] [<ffffffff812d2853>] do_fbcon_takeover+0x63/0xc0
> [ 0.625628] [<ffffffff812d652d>] fbcon_event_notify+0x5fd/0x700
> [ 0.625629] [<ffffffff8161c91d>] notifier_call_chain+0x4d/0x70
> [ 0.625630] [<ffffffff810695d8>] __blocking_notifier_call_chain+0x58/0x80
> [ 0.625631] [<ffffffff81069616>] blocking_notifier_call_chain+0x16/0x20
> [ 0.625633] [<ffffffff812c79cb>] fb_notifier_call_chain+0x1b/0x20
> [ 0.625634] [<ffffffff812c9168>] register_framebuffer+0x1c8/0x310
> [ 0.625635] [<ffffffff8134b4c1>] drm_fb_helper_initial_config+0x371/0x520
> [ 0.625637] [<ffffffff8134a5f7>] ? drm_fb_helper_single_add_all_connectors+0x47/0xf0
> [ 0.625639] [<ffffffff81140c4e>] ? kmem_cache_alloc_trace+0xee/0x150
> [ 0.625641] [<ffffffff8140579e>] nouveau_fbcon_init+0x10e/0x160
> [ 0.625643] [<ffffffff813f5f8a>] nouveau_drm_load+0x40a/0x5d0
> [ 0.625644] [<ffffffff81430d5e>] ? device_register+0x1e/0x30
> [ 0.625645] [<ffffffff8135c076>] ? drm_sysfs_device_add+0x86/0xb0
> [ 0.625647] [<ffffffff8135a9a6>] drm_get_pci_dev+0x186/0x2d0
> [ 0.625649] [<ffffffff812b0fdb>] ? __pci_set_master+0x2b/0x90
> [ 0.625650] [<ffffffff813f63ba>] nouveau_drm_probe+0x26a/0x2c0
> [ 0.625652] [<ffffffff812b5045>] ? pci_match_device+0xd5/0xe0
> [ 0.625654] [<ffffffff812b51c6>] pci_device_probe+0x136/0x150
> [ 0.625655] [<ffffffff814335d6>] driver_probe_device+0x76/0x210
> [ 0.625656] [<ffffffff8143381b>] __driver_attach+0xab/0xb0
> [ 0.625657] [<ffffffff81433770>] ? driver_probe_device+0x210/0x210
> [ 0.625658] [<ffffffff814317cd>] bus_for_each_dev+0x5d/0xa0
> [ 0.625659] [<ffffffff8143301e>] driver_attach+0x1e/0x20
> [ 0.625660] [<ffffffff81432c01>] bus_add_driver+0x111/0x280
> [ 0.625662] [<ffffffff81d22af1>] ? ttm_init+0x62/0x62
> [ 0.625663] [<ffffffff81433ed7>] driver_register+0x77/0x170
> [ 0.625665] [<ffffffff81d22af1>] ? ttm_init+0x62/0x62
> [ 0.625666] [<ffffffff812b4184>] __pci_register_driver+0x64/0x70
> [ 0.625668] [<ffffffff8135ac05>] drm_pci_init+0x115/0x130
> [ 0.625669] [<ffffffff81d22af1>] ? ttm_init+0x62/0x62
> [ 0.625670] [<ffffffff81d22af1>] ? ttm_init+0x62/0x62
> [ 0.625671] [<ffffffff81d22b3e>] nouveau_drm_init+0x4d/0x4f
> [ 0.625673] [<ffffffff81000312>] do_one_initcall+0x122/0x170
> [ 0.625675] [<ffffffff81cf7f49>] kernel_init_freeable+0x108/0x197
> [ 0.625676] [<ffffffff81cf781c>] ? do_early_param+0x8c/0x8c
> [ 0.625678] [<ffffffff815ff110>] ? rest_init+0xe0/0xe0
> [ 0.625679] [<ffffffff815ff11e>] kernel_init+0xe/0xf0
> [ 0.625681] [<ffffffff81620fdc>] ret_from_fork+0x7c/0xb0
> [ 0.625682] [<ffffffff815ff110>] ? rest_init+0xe0/0xe0
> [ 0.697046] Console: switching to colour frame buffer device 240x67
> [ 0.735951] nouveau 0000:03:00.0: fb0: nouveaufb frame buffer device
> [ 0.736451] nouveau 0000:03:00.0: registered panic notifier
> [ 0.736955] [drm] Initialized nouveau 1.1.0 20120801 for 0000:03:00.0 on minor 0
>


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