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