2016-10-17 Rob Clark <robdclark@xxxxxxxxx>: > Currently with fence-array, we have a potential deadlock situation. If we > fence_add_callback() on an array-fence, the array-fence's lock is acquired > first, and in it's ->enable_signaling() callback, it will install cb's on > it's array-member fences, so the array-member's lock is acquired second. > > But in the signal path, the array-member's lock is acquired first, and the > array-fence's lock acquired second. > > To solve that, always enabling signaling up-front (in the fence_array > constructor) without the fence_array's lock held. Do we always want to enable signaling for arrays? One of the things we removed from the Sync Framework was the need to enable signalling at creation time. Just merging fencing doesn't mean you want signaling, that is supposed to happen only when poll() is called on the sync file. Gustavo _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel