[PATCH 3/3] drm/amdgpu: Remove the while loop from amdgpu_job_prepare_job

Christian König christian.koenig at amd.com
Tue Sep 24 12:06:32 UTC 2024


Am 24.09.24 um 11:51 schrieb Tvrtko Ursulin:
> From: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>
> While loop makes it sound like amdgpu_vmid_grab() potentially needs to be
> called multiple times to produce a fence, while in reality all code paths
> either return an error, assign a valid job->vmid or assign a vmid which
> will be valid once the returned fence signals.
>
> Therefore we can remove the loop to make it clear the call does not need
> to be repeated.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
> Cc: Christian König <christian.koenig at amd.com>

Oh yeah that's a leftover from when we still had the dependency handling 
inside all this.

Reviewed-by: Christian König <christian.koenig at amd.com> for the whole 
series.

> ---
> I stared for a good while, going back and forth, and couldn't see that the
> while loop is needed. But maybe I missed something?
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> index d11cb0ad8c49..85f10b59d09c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> @@ -356,7 +356,7 @@ amdgpu_job_prepare_job(struct drm_sched_job *sched_job,
>   	if (job->gang_submit)
>   		fence = amdgpu_device_switch_gang(ring->adev, job->gang_submit);
>   
> -	while (!fence && job->vm && !job->vmid) {
> +	if (!fence && job->vm && !job->vmid) {
>   		r = amdgpu_vmid_grab(job->vm, ring, job, &fence);
>   		if (r) {
>   			dev_err(ring->adev->dev, "Error getting VM ID (%d)\n", r);



More information about the amd-gfx mailing list