Re: [PATCH 2/2] drm: Revert syncobj timeline changes.

From: Dmitry Osipenko
Date: Fri Dec 21 2018 - 13:59:38 EST


On 21.12.2018 21:45, Koenig, Christian wrote:
> Am 21.12.18 um 19:35 schrieb Dmitry Osipenko:
>> On 21.12.2018 21:27, Christian KÃnig wrote:
>>> Am 19.12.18 um 18:53 schrieb Dmitry Osipenko:
>>>> [SNIP]
>>>>> @@ -931,9 +718,6 @@ static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs,
>>>>> Â ÂÂÂÂÂ if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) {
>>>>> ÂÂÂÂÂÂÂÂÂ for (i = 0; i < count; ++i) {
>>>>> -ÂÂÂÂÂÂÂÂÂÂÂ if (entries[i].fence)
>>>>> -ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ continue;
>>>>> -
>>>>> ÂÂÂÂÂÂÂÂÂÂÂÂÂ drm_syncobj_fence_get_or_add_callback(syncobjs[i],
>>>>> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ &entries[i].fence,
>>>>> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ &entries[i].syncobj_cb,
>>>> Hello,
>>>>
>>>> The above three removed lines we added in commit 337fe9f5c1e7de ("drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set") that fixed a memleak. Removal of the lines returns the memleak because of disbalanced fence refcounting and it looks like they were removed unintentionally in this patch.
>>> That was already fixed with 61a98b1b9a8c7 drm/syncobj: remove drm_syncobj_cb and cleanup.
>>>
>>> This cleanup removed all the duplicate checking and is now adding the callback only once.
>> Okay, though that commit is not in linux-next. I assume it will show up eventually.
>
> Need to double check, that could indeed be a problem.

Thanks for taking care!