projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
80e54e8
)
drm/xe: Release guc ids before cancelling work
author
Tejas Upadhyay
<tejas.upadhyay@intel.com>
Thu, 6 Mar 2025 13:12:11 +0000
(18:42 +0530)
committer
Rodrigo Vivi
<rodrigo.vivi@intel.com>
Mon, 10 Mar 2025 15:42:21 +0000
(11:42 -0400)
A GT resets can be occurring in parallel while cancelling
work in async call which can requeue these workers.
to avoid that, lets first release guc ids and then cancel
work so they don't requeued.
Fixes:
8ae8a2e8dd21
("drm/xe: Long running job update")
Fixes:
12c2f962fe71
("drm/xe: cancel pending job timer before freeing scheduler")
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Suggested-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20250306131211.975503-1-tejas.upadhyay@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit
8e8d76f62329127b31c64a034b052fb9e30e92af
)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_submit.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/xe/xe_guc_submit.c
b/drivers/gpu/drm/xe/xe_guc_submit.c
index
b6a2dd7
..
1a5fe48
100644
(file)
--- a/
drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/
drivers/gpu/drm/xe/xe_guc_submit.c
@@
-1246,11
+1246,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);