[PATCH 4/7] drm/ttm: user reservation object wrappers

Michel Dänzer michel at daenzer.net
Fri Nov 10 16:20:35 UTC 2017


On 09/11/17 06:13 PM, Christian König wrote:
> Am 09.11.2017 um 17:50 schrieb Michel Dänzer:
>> On 09/11/17 09:59 AM, Christian König wrote:
>>> Consistently use the reservation object wrappers instead of accessing
>>> the ww_mutex directly.
>>>
>>> Additional to that use the reservation object wrappers directly
>>> instead of
>>> calling __ttm_bo_reserve with fixed parameters.
>>>
>>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> [...]
>>
>>> @@ -1823,7 +1823,9 @@ int ttm_bo_wait_unreserved(struct
>>> ttm_buffer_object *bo)
>>>           return -ERESTARTSYS;
>>>       if (!ww_mutex_is_locked(&bo->resv->lock))
>>>           goto out_unlock;
>>> -    ret = __ttm_bo_reserve(bo, true, false, NULL);
>>> +    ret = reservation_object_lock_interruptible(bo->resv, NULL);
>>> +    if (ret = -EINTR)
>>> +        ret = -ERESTARTSYS;
>> Typo in the test, must be
>>
>>      if (ret == -EINTR)
>>
>>
>> This bug caused the Xorg process to hang for me when trying to run
>> glxgears, requiring a hard reboot. Did you accidentally send an untested
>> version of this patch?
> Yeah, just stumbled over this as well. I accidentally merged the fix for
> this into a later patch which I didn't send out yet.
> 
> Consider it fixed,

Thanks. With that, patches 1-6 are

Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>


I sent another comment on patch 7.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list