Re: [PATCH 2/2] drm: Revert syncobj timeline changes.
From: Dmitry Osipenko
Date: Fri Dec 21 2018 - 13:35:45 EST
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.