buggy/weird behavior in ttm
Thomas Hellstrom
thellstrom at vmware.com
Thu Oct 11 12:35:43 PDT 2012
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
More information about the dri-devel
mailing list