[PATCH] drm/xe: Release gud ids before cancelling work

Upadhyay, Tejas tejas.upadhyay at intel.com
Thu Mar 6 13:06:12 UTC 2025


Please ignore this patch. Few spelling mistakes are corrected and send new one.

Tejas


> -----Original Message-----
> From: Upadhyay, Tejas <tejas.upadhyay at intel.com>
> Sent: Thursday, March 6, 2025 6:25 PM
> To: intel-xe at lists.freedesktop.org
> Cc: Brost, Matthew <matthew.brost at intel.com>; Upadhyay, Tejas
> <tejas.upadhyay at intel.com>
> Subject: [PATCH] drm/xe: Release gud ids before cancelling work
> 
> A GT reset can be occuring in parallel while cancelling work in async call  which
> can requeue these workers.
> To avoid that lets first release guc ids and then cancle work so they dont
> requeued.
> 
> Fixes: 8ae8a2e8dd21 ("drm/xe: Long running job update")
> Fixes: 18fbd567e75f ("drm/xe: cancel pending job timer before freeing
> scheduler")
> Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc_submit.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c
> b/drivers/gpu/drm/xe/xe_guc_submit.c
> index b95934055f72..31bc2022bfc2 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1254,11 +1254,11 @@ static void __guc_exec_queue_fini_async(struct
> work_struct *w)
>  	xe_pm_runtime_get(guc_to_xe(guc));
>  	trace_xe_exec_queue_destroy(q);
> 
> +	release_guc_id(guc, q);
>  	if (xe_exec_queue_is_lr(q))
>  		cancel_work_sync(&ge->lr_tdr);
>  	/* Confirm no work left behind accessing device structures */
>  	cancel_delayed_work_sync(&ge->sched.base.work_tdr);
> -	release_guc_id(guc, q);
>  	xe_sched_entity_fini(&ge->entity);
>  	xe_sched_fini(&ge->sched);
> 
> --
> 2.34.1



More information about the Intel-xe mailing list