[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