nouveau lockdep warning
Francisco Jerez
currojerez at riseup.net
Wed Sep 1 05:09:14 PDT 2010
Johannes Berg <johannes at sipsolutions.net> writes:
> Francisco,
>
> The patch you pointed me works, but now, although it's probably not due
> to that patch, I get a lockdep warning:
>
> [ 75.428119] [drm] nouveau 0000:02:00.0: nouveau_channel_free: freeing fifo 2
> [ 75.430015]
> [ 75.430015] ======================================================
> [ 75.430015] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
> [ 75.430015] 2.6.36-rc3-wl-47417-g8164729-dirty #183
> [ 75.430015] ------------------------------------------------------
> [ 75.430015] Xorg/3109 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
> [ 75.430015] (&(&mm->unused_lock)->rlock){+.+...}, at: [<ffffffffa075f303>] drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015]
> [ 75.430015] and this task is already holding:
> [ 75.430015] (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffffa07ccbc9>] nouveau_channel_free+0xf9/0x2b0 [nouveau]
> [ 75.430015] which would create a new lock dependency:
> [ 75.430015] (&(&dev_priv->context_switch_lock)->rlock){-.....} -> (&(&mm->unused_lock)->rlock){+.+...}
> [ 75.430015]
> [ 75.430015] but this new dependency connects a HARDIRQ-irq-safe lock:
> [ 75.430015] [drm] nouveau 0000:02:00.0: GPU lockup - switching to software fbcon
> [ 75.430015] (&(&dev_priv->context_switch_lock)->rlock){-.....}
> [ 75.430015] ... which became HARDIRQ-irq-safe at:
> [ 75.430015] [<ffffffff81081a5d>] mark_irqflags+0x17d/0x190
> [ 75.430015] [<ffffffff8108580c>] __lock_acquire+0x57c/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff814965c2>] _raw_spin_lock_irqsave+0x52/0x90
> [ 75.430015] [<ffffffffa07d518f>] nouveau_irq_handler+0x6f/0x1b0 [nouveau]
> [ 75.430015] [<ffffffff810a5271>] handle_IRQ_event+0x81/0x2e0
> [ 75.430015] [<ffffffff810a7d4c>] handle_fasteoi_irq+0x7c/0x100
> [ 75.430015] [<ffffffff81005122>] handle_irq+0x22/0x30
> [ 75.430015] [<ffffffff810045c3>] do_IRQ+0x73/0xf0
> [ 75.430015] [<ffffffff81497713>] ret_from_intr+0x0/0xf
> [ 75.430015] [<ffffffff813274f1>] dev_set_name+0x41/0x50
> [ 75.430015] [<ffffffff812aef0c>] backlight_device_register+0xcc/0x2d0
> [ 75.430015] [<ffffffffa0838c07>] nouveau_nv50_backlight_init+0x87/0xf0 [nouveau]
> [ 75.430015] [<ffffffffa0838c9d>] nouveau_backlight_init+0x2d/0x50 [nouveau]
> [ 75.430015] [<ffffffffa07cc243>] nouveau_card_init+0x263/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015]
> [ 75.430015] to a HARDIRQ-irq-unsafe lock:
> [ 75.430015] (&(&mm->unused_lock)->rlock){+.+...}
> [ 75.430015] ... which became HARDIRQ-irq-unsafe at:
> [ 75.430015] ... [<ffffffff81081a00>] mark_irqflags+0x120/0x190
> [ 75.430015] [<ffffffff8108580c>] __lock_acquire+0x57c/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075efb5>] drm_mm_pre_get+0x25/0x1e0 [drm]
> [ 75.430015] [<ffffffffa07b123b>] ttm_bo_setup_vm+0x2b/0x140 [ttm]
> [ 75.430015] [<ffffffffa07b352d>] ttm_bo_init+0x24d/0x290 [ttm]
> [ 75.430015] [<ffffffffa07d8831>] nouveau_bo_new+0x161/0x2d0 [nouveau]
> [ 75.430015] [<ffffffffa07cdd30>] nouveau_mem_init+0x200/0x580 [nouveau]
> [ 75.430015] [<ffffffffa07cc0d6>] nouveau_card_init+0xf6/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015]
> [ 75.430015] other info that might help us debug this:
> [ 75.430015]
> [ 75.430015] 2 locks held by Xorg/3109:
> [ 75.430015] #0: (drm_global_mutex){+.+.+.}, at: [<ffffffffa0753041>] drm_ioctl+0x361/0x4d0 [drm]
> [ 75.430015] #1: (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffffa07ccbc9>] nouveau_channel_free+0xf9/0x2b0 [nouveau]
> [ 75.430015]
> [ 75.430015] the dependencies between HARDIRQ-irq-safe lock and the holding lock:
> [ 75.430015] -> (&(&dev_priv->context_switch_lock)->rlock){-.....} ops: 21 {
> [ 75.430015] IN-HARDIRQ-W at:
> [ 75.430015] [<ffffffff81081a5d>] mark_irqflags+0x17d/0x190
> [ 75.430015] [<ffffffff8108580c>] __lock_acquire+0x57c/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff814965c2>] _raw_spin_lock_irqsave+0x52/0x90
> [ 75.430015] [<ffffffffa07d518f>] nouveau_irq_handler+0x6f/0x1b0 [nouveau]
> [ 75.430015] [<ffffffff810a5271>] handle_IRQ_event+0x81/0x2e0
> [ 75.430015] [<ffffffff810a7d4c>] handle_fasteoi_irq+0x7c/0x100
> [ 75.430015] [<ffffffff81005122>] handle_irq+0x22/0x30
> [ 75.430015] [<ffffffff810045c3>] do_IRQ+0x73/0xf0
> [ 75.430015] [<ffffffff81497713>] ret_from_intr+0x0/0xf
> [ 75.430015] [<ffffffff813274f1>] dev_set_name+0x41/0x50
> [ 75.430015] [<ffffffff812aef0c>] backlight_device_register+0xcc/0x2d0
> [ 75.430015] [<ffffffffa0838c07>] nouveau_nv50_backlight_init+0x87/0xf0 [nouveau]
> [ 75.430015] [<ffffffffa0838c9d>] nouveau_backlight_init+0x2d/0x50 [nouveau]
> [ 75.430015] [<ffffffffa07cc243>] nouveau_card_init+0x263/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015] INITIAL USE at:
> [ 75.430015] [<ffffffff810855d2>] __lock_acquire+0x342/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff814965c2>] _raw_spin_lock_irqsave+0x52/0x90
> [ 75.430015] [<ffffffffa07fb742>] nv50_fifo_create_context+0xf2/0x460 [nouveau]
> [ 75.430015] [<ffffffffa07cd4f2>] nouveau_channel_alloc+0x352/0x5e0 [nouveau]
> [ 75.430015] [<ffffffffa07cbed5>] nouveau_card_init_channel+0x45/0x150 [nouveau]
> [ 75.430015] [<ffffffffa07cc237>] nouveau_card_init+0x257/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015] }
> [ 75.430015] ... key at: [<ffffffffa084c359>] __key.41268+0x0/0xfffffffffffece63 [nouveau]
> [ 75.430015] ... acquired at:
> [ 75.430015] [<ffffffff81082df8>] check_usage+0x138/0x1e0
> [ 75.430015] [<ffffffff81082f00>] check_irq_usage+0x60/0xf0
> [ 75.430015] [<ffffffff81083fb4>] check_prev_add+0xc4/0x710
> [ 75.430015] [<ffffffff81085134>] validate_chain+0x5a4/0x700
> [ 75.430015] [<ffffffff81085746>] __lock_acquire+0x4b6/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075f303>] drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015] [<ffffffffa07cfd35>] nouveau_gpuobj_del+0x135/0x1c0 [nouveau]
> [ 75.430015] [<ffffffffa07d040d>] nouveau_gpuobj_ref_del+0x9d/0xf0 [nouveau]
> [ 75.430015] [<ffffffffa08048c6>] nv50_graph_destroy_context+0xb6/0x110 [nouveau]
> [ 75.430015] [<ffffffffa07ccbf8>] nouveau_channel_free+0x128/0x2b0 [nouveau]
> [ 75.430015] [<ffffffffa07ccdee>] nouveau_ioctl_fifo_free+0x6e/0x80 [nouveau]
> [ 75.430015] [<ffffffffa075305b>] drm_ioctl+0x37b/0x4d0 [drm]
> [ 75.430015] [<ffffffff81124c7f>] do_vfs_ioctl+0x9f/0x330
> [ 75.430015] [<ffffffff81124f5f>] sys_ioctl+0x4f/0x80
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015]
> [ 75.430015]
> [ 75.430015] the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock:
> [ 75.430015] -> (&(&mm->unused_lock)->rlock){+.+...} ops: 9351 {
> [ 75.430015] HARDIRQ-ON-W at:
> [ 75.430015] [<ffffffff81081a00>] mark_irqflags+0x120/0x190
> [ 75.430015] [<ffffffff8108580c>] __lock_acquire+0x57c/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075efb5>] drm_mm_pre_get+0x25/0x1e0 [drm]
> [ 75.430015] [<ffffffffa07b123b>] ttm_bo_setup_vm+0x2b/0x140 [ttm]
> [ 75.430015] [<ffffffffa07b352d>] ttm_bo_init+0x24d/0x290 [ttm]
> [ 75.430015] [<ffffffffa07d8831>] nouveau_bo_new+0x161/0x2d0 [nouveau]
> [ 75.430015] [<ffffffffa07cdd30>] nouveau_mem_init+0x200/0x580 [nouveau]
> [ 75.430015] [<ffffffffa07cc0d6>] nouveau_card_init+0xf6/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015] SOFTIRQ-ON-W at:
> [ 75.430015] [<ffffffff81081a25>] mark_irqflags+0x145/0x190
> [ 75.430015] [<ffffffff8108580c>] __lock_acquire+0x57c/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075efb5>] drm_mm_pre_get+0x25/0x1e0 [drm]
> [ 75.430015] [<ffffffffa07b123b>] ttm_bo_setup_vm+0x2b/0x140 [ttm]
> [ 75.430015] [<ffffffffa07b352d>] ttm_bo_init+0x24d/0x290 [ttm]
> [ 75.430015] [<ffffffffa07d8831>] nouveau_bo_new+0x161/0x2d0 [nouveau]
> [ 75.430015] [<ffffffffa07cdd30>] nouveau_mem_init+0x200/0x580 [nouveau]
> [ 75.430015] [<ffffffffa07cc0d6>] nouveau_card_init+0xf6/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015] INITIAL USE at:
> [ 75.430015] [<ffffffff810855d2>] __lock_acquire+0x342/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075efb5>] drm_mm_pre_get+0x25/0x1e0 [drm]
> [ 75.430015] [<ffffffffa07b123b>] ttm_bo_setup_vm+0x2b/0x140 [ttm]
> [ 75.430015] [<ffffffffa07b352d>] ttm_bo_init+0x24d/0x290 [ttm]
> [ 75.430015] [<ffffffffa07d8831>] nouveau_bo_new+0x161/0x2d0 [nouveau]
> [ 75.430015] [<ffffffffa07cdd30>] nouveau_mem_init+0x200/0x580 [nouveau]
> [ 75.430015] [<ffffffffa07cc0d6>] nouveau_card_init+0xf6/0x300 [nouveau]
> [ 75.430015] [<ffffffffa07cc631>] nouveau_load+0x351/0x660 [nouveau]
> [ 75.430015] [<ffffffffa075c1a3>] drm_get_pci_dev+0x183/0x3a0 [drm]
> [ 75.430015] [<ffffffffa08391ba>] nouveau_pci_probe+0x15/0x17 [nouveau]
> [ 75.430015] [<ffffffff8128e74f>] local_pci_probe+0x5f/0xd0
> [ 75.430015] [<ffffffff8128f538>] pci_device_probe+0x88/0xb0
> [ 75.430015] [<ffffffff8132b6c8>] really_probe+0x68/0x190
> [ 75.430015] [<ffffffff8132b835>] driver_probe_device+0x45/0x70
> [ 75.430015] [<ffffffff8132b8fb>] __driver_attach+0x9b/0xa0
> [ 75.430015] [<ffffffff8132ac5c>] bus_for_each_dev+0x6c/0xa0
> [ 75.430015] [<ffffffff8132b51e>] driver_attach+0x1e/0x20
> [ 75.430015] [<ffffffff8132a2a5>] bus_add_driver+0xd5/0x370
> [ 75.430015] [<ffffffff8132bc48>] driver_register+0x78/0x140
> [ 75.430015] [<ffffffff8128f7b6>] __pci_register_driver+0x66/0xe0
> [ 75.430015] [<ffffffffa075c49f>] drm_pci_init+0xdf/0xf0 [drm]
> [ 75.430015] [<ffffffffa07533d8>] drm_init+0x58/0x70 [drm]
> [ 75.430015] [<ffffffffa085b048>] 0xffffffffa085b048
> [ 75.430015] [<ffffffff810001e3>] do_one_initcall+0x43/0x180
> [ 75.430015] [<ffffffff8109529a>] sys_init_module+0xba/0x200
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015] }
> [ 75.430015] ... key at: [<ffffffffa07771fc>] __key.38649+0x0/0xffffffffffff3460 [drm]
> [ 75.430015] ... acquired at:
> [ 75.430015] [<ffffffff81082df8>] check_usage+0x138/0x1e0
> [ 75.430015] [<ffffffff81082f00>] check_irq_usage+0x60/0xf0
> [ 75.430015] [<ffffffff81083fb4>] check_prev_add+0xc4/0x710
> [ 75.430015] [<ffffffff81085134>] validate_chain+0x5a4/0x700
> [ 75.430015] [<ffffffff81085746>] __lock_acquire+0x4b6/0x9d0
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075f303>] drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015] [<ffffffffa07cfd35>] nouveau_gpuobj_del+0x135/0x1c0 [nouveau]
> [ 75.430015] [<ffffffffa07d040d>] nouveau_gpuobj_ref_del+0x9d/0xf0 [nouveau]
> [ 75.430015] [<ffffffffa08048c6>] nv50_graph_destroy_context+0xb6/0x110 [nouveau]
> [ 75.430015] [<ffffffffa07ccbf8>] nouveau_channel_free+0x128/0x2b0 [nouveau]
> [ 75.430015] [<ffffffffa07ccdee>] nouveau_ioctl_fifo_free+0x6e/0x80 [nouveau]
> [ 75.430015] [<ffffffffa075305b>] drm_ioctl+0x37b/0x4d0 [drm]
> [ 75.430015] [<ffffffff81124c7f>] do_vfs_ioctl+0x9f/0x330
> [ 75.430015] [<ffffffff81124f5f>] sys_ioctl+0x4f/0x80
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
> [ 75.430015]
> [ 75.430015]
> [ 75.430015] stack backtrace:
> [ 75.430015] Pid: 3109, comm: Xorg Not tainted 2.6.36-rc3-wl-47417-g8164729-dirty #183
> [ 75.430015] Call Trace:
> [ 75.430015] [<ffffffff81082c1e>] print_bad_irq_dependency+0x2ce/0x370
> [ 75.430015] [<ffffffff81082df8>] check_usage+0x138/0x1e0
> [ 75.430015] [<ffffffff81082f00>] check_irq_usage+0x60/0xf0
> [ 75.430015] [<ffffffff81083fb4>] check_prev_add+0xc4/0x710
> [ 75.430015] [<ffffffff81009d17>] ? native_sched_clock+0x27/0x80
> [ 75.430015] [<ffffffff81085134>] validate_chain+0x5a4/0x700
> [ 75.430015] [<ffffffff81085746>] __lock_acquire+0x4b6/0x9d0
> [ 75.430015] [<ffffffff81009d17>] ? native_sched_clock+0x27/0x80
> [ 75.430015] [<ffffffff81085d02>] lock_acquire+0xa2/0x1d0
> [ 75.430015] [<ffffffffa075f303>] ? drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015] [<ffffffff81496410>] _raw_spin_lock+0x40/0x80
> [ 75.430015] [<ffffffffa075f303>] ? drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015] [<ffffffffa075f303>] drm_mm_put_block+0x93/0x190 [drm]
> [ 75.430015] [<ffffffffa07cfd35>] nouveau_gpuobj_del+0x135/0x1c0 [nouveau]
> [ 75.430015] [<ffffffffa07d040d>] nouveau_gpuobj_ref_del+0x9d/0xf0 [nouveau]
> [ 75.430015] [<ffffffffa08048c6>] nv50_graph_destroy_context+0xb6/0x110 [nouveau]
> [ 75.430015] [<ffffffffa07ccbf8>] nouveau_channel_free+0x128/0x2b0 [nouveau]
> [ 75.430015] [<ffffffffa07ccdee>] nouveau_ioctl_fifo_free+0x6e/0x80 [nouveau]
> [ 75.430015] [<ffffffffa075305b>] drm_ioctl+0x37b/0x4d0 [drm]
> [ 75.430015] [<ffffffff81009d17>] ? native_sched_clock+0x27/0x80
> [ 75.430015] [<ffffffffa07ccd80>] ? nouveau_ioctl_fifo_free+0x0/0x80 [nouveau]
> [ 75.430015] [<ffffffff81038281>] ? get_parent_ip+0x11/0x50
> [ 75.430015] [<ffffffff81038281>] ? get_parent_ip+0x11/0x50
> [ 75.430015] [<ffffffff8149ac3d>] ? sub_preempt_count+0x9d/0xd0
> [ 75.430015] [<ffffffff8108042e>] ? put_lock_stats+0xe/0x30
> [ 75.430015] [<ffffffff810f90c1>] ? sys_munmap+0x61/0x80
> [ 75.430015] [<ffffffff81124c7f>] do_vfs_ioctl+0x9f/0x330
> [ 75.430015] [<ffffffff81124f5f>] sys_ioctl+0x4f/0x80
> [ 75.430015] [<ffffffff810027fb>] system_call_fastpath+0x16/0x1b
>
Yes, that's a known issue, the scenario where it actually dead locks is
impossible so don't worry about it. Several solutions are discussed here
[1].
>
> (also, while I'm at asking questions, is it a known problem that
> switching between using an external monitor and not using it will with
> high probability lock up? Same for using dpms to turn off the screens,
> though that might just be the same thing?)
>
I haven't seen anything like that, please file a new bug report [2].
> johannes
[1] http://lists.freedesktop.org/archives/nouveau/2010-July/005994.html
[2] http://nouveau.freedesktop.org/wiki/Bugs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 229 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20100901/fc5b720d/attachment-0001.pgp>
More information about the dri-devel
mailing list