Switch reference counting to GEM instead of TTM
Christian König
ckoenig.leichtzumerken at gmail.com
Tue Jul 16 13:26:38 UTC 2024
Am 16.07.24 um 15:24 schrieb Danilo Krummrich:
> On 7/16/24 3:12 PM, Danilo Krummrich wrote:
>> Hi Christian,
>>
>
> Forgot to say, please also add driver maintainers and related
> mailing lists, dri-devel gets a lot of messages and I saw this
> series by chance.
Ah, yes good point.
>
> - Danilo
>
>> On 7/16/24 2:35 PM, Christian König wrote:
>>> Hello everyone,
>>>
>>> to make use of drm_exec it is necessary to have TTM drivers actually
>>> use
>>> the GEM reference count instead of the TTM one.
>>>
>>> This patch set is a start to do that. It switches all uses of
>>> ttm_bo_get/put to the GEM counterpart and then makes ttm_bo_get private
>>> to TTM.
>>
>> That makes a lot of sense.
>>
>> But I think for at least some drivers it requires a bit more than just
>> replacing ttm_bo_{get, put} with drm_gem_object_{get, put}.
>>
>> I gave this a quick shot on Nouveau, and as is, it creates a refcount
>> underflow for the GEM object's reference count.
Crap, I thought I got all of those.
>>
>> At a first glance this seems to happen because some of the previous
>> ttm_bo_put() calls intend to compensate for the initial refcount of a
>> ttm_buffer_object.
Mhm, there should be only one left of those.
>>
>> I will have a closer look later on.
Thanks,
Christian.
>>
>> - Danilo
>>
>>>
>>> Netx step is to completely remove the TTM refcounting.
>>>
>>> Please review and/or comment.
>>>
>>> Cheers,
>>> Christian.
>>>
>>>
More information about the dri-devel
mailing list