[PATCH 1/2] dma-buf: keep only not signaled fence in reservation_object_add_shared_replace v3
Chris Wilson
chris at chris-wilson.co.uk
Tue Nov 14 14:39:29 UTC 2017
Quoting Christian König (2017-11-14 14:24:35)
> The amdgpu issue to also need signaled fences in the reservation objects
> should be fixed by now.
>
> Optimize the list by keeping only the not signaled yet fences around.
>
> v2: temporary put the signaled fences at the end of the new container
> v3: put the old fence at the end of the new container as well.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
> - if (!old_fence) {
> - RCU_INIT_POINTER(fobj->shared[fobj->shared_count], fence);
> - fobj->shared_count++;
> + if (check->context == fence->context ||
> + dma_fence_is_signaled(check))
> + RCU_INIT_POINTER(fobj->shared[--k], check);
> + else
> + RCU_INIT_POINTER(fobj->shared[j++], check);
> }
> + fobj->shared_count = j;
> + RCU_INIT_POINTER(fobj->shared[fobj->shared_count], fence);
> + fobj->shared_count++;
I would keep the INIT_PTR(fobj->shared[j++], fence);
fobj->shared_count = j;
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
I've been running an equivalent patch through our CI with nothing to
report.
-Chris
More information about the amd-gfx
mailing list