On 10/11/2012 09:26 PM, Thomas Hellstrom wrote:
On 10/11/2012 08:42 PM, Maarten Lankhorst wrote:
I can't see how the waiting reserve in ttm_bo_cleanup_refs would cause
a deadlock,
because the buffer about to be reserved is always *last* in a
reservation sequence, and the
reservation is always released (or the buffer destroyed) before trying
to reserve another buffer.
Technically the buffer is not looked up from a LRU list but from the
delayed delete list.
Could you describe such a deadlock case?
(There is a bug in there, though that the reservation is not released
if the buffer is no longer
on the reservation list here):
if (unlikely(ret != 0) || list_empty(&bo->ddestroy)) {
spin_unlock(&glob->lru_lock);
return ret;
}
Actually I was looking at older code. That bug is already fixed.
/Thomas
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel