On 12/9/25 10:23, Jesse.Zhang wrote: > In the amdgpu_userq_evict function, after signaling the eviction fence, we > need to ensure it's processed before scheduling the resume work. This > prevents potential race conditions where the resume work might start > before the eviction fence has been fully handled, leading to inconsistent > state in user queues.
Well signaling the fence means it is fully processed. So this change here is just bluntly nonsense. What exactly is happening? Regards, Christian. > > Signed-off-by: Jesse Zhang <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c > index 2f97f35e0af5..ed744b2edc61 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c > @@ -1238,6 +1238,10 @@ amdgpu_userq_evict(struct amdgpu_userq_mgr *uq_mgr, > return; > } > > + /* Wait for eviction fence to be processed before schedule a resume > work */ > + if (dma_fence_wait_timeout(&ev_fence->base, false, > msecs_to_jiffies(100)) <= 0) { > + dev_warn(adev->dev, "Eviction fence wait timed out\n"); > + } > /* Schedule a resume work */ > schedule_delayed_work(&uq_mgr->resume_work, 0); > }
