[Intel-gfx] v3.17, i915 vs nouveau: possible recursive locking detected
Daniel Vetter
daniel at ffwll.ch
Thu Oct 16 13:47:38 CEST 2014
We need ww mutexes and need to rewrite i915 a bit fo fix this all. I.e.
known issue. As long as your userspace isn't nasty nothing bad will ever
happen though.
-Daniel
On Mon, Oct 13, 2014 at 08:40:33PM +0200, Marcin Ĺšlusarz wrote:
> =============================================
> [ INFO: possible recursive locking detected ]
> 3.17.0 #50 Not tainted
> ---------------------------------------------
> Xorg/1170 is trying to acquire lock:
> (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa010ae93>] i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
>
> but task is already holding lock:
> (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa001cd1a>] drm_gem_object_handle_unreference_unlocked+0xca/0x120 [drm]
>
> other info that might help us debug this:
> Possible unsafe locking scenario:
>
> CPU0
> ----
> lock(&dev->struct_mutex);
> lock(&dev->struct_mutex);
>
> *** DEADLOCK ***
>
> May be due to missing lock nesting notation
>
> 1 lock held by Xorg/1170:
> #0: (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa001cd1a>] drm_gem_object_handle_unreference_unlocked+0xca/0x120 [drm]
>
> stack backtrace:
> CPU: 1 PID: 1170 Comm: Xorg Not tainted 3.17.0 #50
> Hardware name: Dell Inc. Inspiron 7720/04M3YM, BIOS A07 08/16/2012
> ffffffff82606b80 ffff880136e27b00 ffffffff81707891 ffffffff82606b80
> ffff880136e27bb8 ffffffff810e0e4f ffffffff00000000 000202000000c795
> 0000000000000001 0000000000000000 00000000004ec276 0000000000000300
> Call Trace:
> [<ffffffff81707891>] dump_stack+0x4e/0x7a
> [<ffffffff810e0e4f>] __lock_acquire+0x194f/0x19e0
> [<ffffffff810e1631>] lock_acquire+0x91/0x120
> [<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
> [<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
> [<ffffffff8170c014>] mutex_lock_nested+0x54/0x3d0
> [<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
> [<ffffffff810df03a>] ? mark_held_locks+0x6a/0x90
> [<ffffffffa010ae93>] i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
> [<ffffffff814c3032>] dma_buf_unmap_attachment+0x22/0x40
> [<ffffffffa0034e42>] drm_prime_gem_destroy+0x22/0x40 [drm]
> [<ffffffffa0299b5b>] nouveau_gem_object_del+0x3b/0x60 [nouveau]
> [<ffffffffa001c7b7>] drm_gem_object_free+0x27/0x30 [drm]
> [<ffffffffa001cd34>] drm_gem_object_handle_unreference_unlocked+0xe4/0x120 [drm]
> [<ffffffffa001ce2a>] drm_gem_handle_delete+0xba/0x110 [drm]
> [<ffffffffa001d495>] drm_gem_close_ioctl+0x25/0x30 [drm]
> [<ffffffffa001df0c>] drm_ioctl+0x1ec/0x660 [drm]
> [<ffffffff8148e4b2>] ? __pm_runtime_resume+0x32/0x60
> [<ffffffff817102fd>] ? _raw_spin_unlock_irqrestore+0x5d/0x70
> [<ffffffff810df15d>] ? trace_hardirqs_on_caller+0xfd/0x1c0
> [<ffffffff810df22d>] ? trace_hardirqs_on+0xd/0x10
> [<ffffffff817102e2>] ? _raw_spin_unlock_irqrestore+0x42/0x70
> [<ffffffffa0290bd4>] nouveau_drm_ioctl+0x54/0xc0 [nouveau]
> [<ffffffff812072a0>] do_vfs_ioctl+0x300/0x520
> [<ffffffff81211fad>] ? __fget+0xad/0xe0
> [<ffffffff81211f05>] ? __fget+0x5/0xe0
> [<ffffffff81207541>] SyS_ioctl+0x81/0xa0
> [<ffffffff81710ed6>] system_call_fastpath+0x1a/0x1f
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list