[PATCH] drm/amdgpu: always initialize job->base.sched

Christian König ckoenig.leichtzumerken at gmail.com
Tue Jul 17 07:26:46 UTC 2018


Am 17.07.2018 um 09:16 schrieb Zhou, David(ChunMing):
> Acked-by: Chunming Zhou <david1.zhou at amd.com>, but I think it isn't a nice evaluation although there is comment in code.

Yeah, I didn't thought about the possibility that we need to free the 
job before it is submitted (in other words before the scheduler is 
determined).

Alternatively we could provide the adev manually to amdgpu_job_free() 
and amdgpu_job_free_resources().

Regards,
Christian.

>
>
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of Christian K?nig
> Sent: Tuesday, July 17, 2018 3:05 PM
> To: amd-gfx at lists.freedesktop.org
> Subject: [PATCH] drm/amdgpu: always initialize job->base.sched
>
> Otherwise we can't clean up the job if we run into an error before it is pushed to the scheduler.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> index 024efb7ea6d6..42a4764d728e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> @@ -54,6 +54,11 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, unsigned num_ibs,
>   	if (!*job)
>   		return -ENOMEM;
>   
> +	/*
> +	 * Initialize the scheduler to at least some ring so that we always
> +	 * have a pointer to adev.
> +	 */
> +	(*job)->base.sched = &adev->rings[0]->sched;
>   	(*job)->vm = vm;
>   	(*job)->ibs = (void *)&(*job)[1];
>   	(*job)->num_ibs = num_ibs;
> --
> 2.14.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



More information about the amd-gfx mailing list