Re: spinlock lockup suspected on CPU error on omapdrm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 2, 2014 at 8:23 AM, Vikas Patil <vikasmpatil@xxxxxxxxx> wrote:
> Hi,
> I am seeing following kernel backtrace on J6 with linux 3.8.13 when trying
> to start IVI LM service. Before starting this I started the X11 and run some
> GLES2/X11 based tests successfully.
>
> The same binaries and my graphics driver are working fine on OMAP5 and linux
> 3.4.25. Is this some known BUG in omapdrm driver? If not a bug then how
> should I go for debugging it?
>
> From the trace what I understood is, this is case of nested spinlock and I
> might be seeing this error due to this as in the trace omap_gem_op_update()
> and omap_gem_set_sync_object(), both functions are trying to acquire
> spin_lock(&sync_lock).
>

ok, to be fair this is more about pvr and some downstream patches to
omapdrm to make it work with pvr, than the upstream omapdrm.

tbh, I don't completely remember how this used to work.. it doesn't
seem like the sort of thing that could be easily missed.  You might
want to compare to older omapdrm+pvr, I might have moved some of the
locking around?

Probably the best/safest thing would be to move the waiter->notify()
callback off to omapdrm's workqueue, so it isn't called with spinlocks
held.

BR,
-R

>
> [  719.005340] BUG: spinlock lockup suspected on CPU#0, kworker/u:2/787
> [  719.011749]  lock: sync_lock+0x0/0x20, .magic: dead4ead, .owner:
> kworker/u:2/787, .owner_cpu: 0
> [  719.020507] [<c001bbc0>] (unwind_backtrace+0x0/0x138) from [<c02896d0>]
> (do_raw_spin_lock+0x100/0x17c)
> [  719.029876] [<c02896d0>] (do_raw_spin_lock+0x100/0x17c) from [<c03157ec>]
> (omap_gem_set_sync_object+0x14/0xf4)
> [  719.039978] [<c03157ec>] (omap_gem_set_sync_object+0x14/0xf4) from
> [<bf0091f4>] (FreeMemCallBackCommon+0xf4/0x24c [omapdrm_pvr])
> [  719.051635] [<bf0091f4>] (FreeMemCallBackCommon+0xf4/0x24c [omapdrm_pvr])
> from [<bf0093d0>] (UnwrapExtMemoryCallBack+0x28/0x68 [omapdrm_pvr])
> [  719.064544] [<bf0093d0>] (UnwrapExtMemoryCallBack+0x28/0x68
> [omapdrm_pvr]) from [<bf013d3c>] (FreeResourceByPtr.part.0+0xac/0xcc
> [omapdrm_pvr])
> [  719.077575] [<bf013d3c>] (FreeResourceByPtr.part.0+0xac/0xcc
> [omapdrm_pvr]) from [<bf0144d0>] (ResManFreeResByPtr+0x44/0x6c
> [omapdrm_pvr])
> [  719.090118] [<bf0144d0>] (ResManFreeResByPtr+0x44/0x6c [omapdrm_pvr])
> from [<bf008980>] (async_unmap+0x28/0x44 [omapdrm_pvr])
> [  719.101531] [<bf008980>] (async_unmap+0x28/0x44 [omapdrm_pvr]) from
> [<c0315528>] (sync_op_update+0x88/0xa8)
> [  719.111328] [<c0315528>] (sync_op_update+0x88/0xa8) from [<c03157c8>]
> (omap_gem_op_update+0x14/0x24)
> [  719.120544] [<c03157c8>] (omap_gem_op_update+0x14/0x24) from [<bf010578>]
> (PVRSRVMISR+0xc/0x60 [omapdrm_pvr])
> [  719.130523] [<bf010578>] (PVRSRVMISR+0xc/0x60 [omapdrm_pvr]) from
> [<c005a810>] (process_one_work+0x1c8/0x5c0)
> [  719.140502] [<c005a810>] (process_one_work+0x1c8/0x5c0) from [<c005af58>]
> (worker_thread+0x168/0x444)
> [  719.149810] [<c005af58>] (worker_thread+0x168/0x444) from [<c005fa40>]
> (kthread+0xa4/0xb0)
> [  719.158142] [<c005fa40>] (kthread+0xa4/0xb0) from [<c00140d0>]
> (ret_from_fork+0x14/0x24)
>
> Thanking you for your time.
>
> Thanks & Regards,
> Vikas
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux