Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 1/3] drm/xe/xe_guc_submit: Fix exec queue stop race condition
@ 2024-04-05 17:55 Jonathan Cavitt
  2024-04-05 17:55 ` [PATCH v4 2/3] drm/xe/xe_guc_submit: Allow lr exec queues to be banned Jonathan Cavitt
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Jonathan Cavitt @ 2024-04-05 17:55 UTC (permalink / raw)
  To: intel-xe
  Cc: saurabhg.gupta, jonathan.cavitt, matthew.brost, lucas.demarchi,
	john.c.harrison

Reorder the xe_sched_tdr_queue_imm and set_exec_queue_banned calls in
guc_exec_queue_stop.  This prevents a possible race condition between
the two events in which it's possible for xe_sched_tdr_queue_imm to
wake the ufence waiter before the exec queue is banned, causing the
ufence waiter to miss the banned state.

Suggested-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---

v2: Expand on cause of race condition

 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 9c30bd9ac8c06..1a6abb10a960e 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
@@ -1430,8 +1430,8 @@ static void guc_exec_queue_stop(struct xe_guc *guc, struct xe_exec_queue *q)
 			    !xe_sched_job_completed(job)) ||
 			    xe_sched_invalidate_job(job, 2)) {
 				trace_xe_sched_job_ban(job);
-				xe_sched_tdr_queue_imm(&q->guc->sched);
 				set_exec_queue_banned(q);
+				xe_sched_tdr_queue_imm(&q->guc->sched);
 			}
 		}
 	}
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-04-15 18:20 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-05 17:55 [PATCH v4 1/3] drm/xe/xe_guc_submit: Fix exec queue stop race condition Jonathan Cavitt
2024-04-05 17:55 ` [PATCH v4 2/3] drm/xe/xe_guc_submit: Allow lr exec queues to be banned Jonathan Cavitt
2024-04-12 20:48   ` Summers, Stuart
2024-04-12 20:58     ` Cavitt, Jonathan
2024-04-12 23:45       ` Matthew Brost
2024-04-15 18:20         ` Summers, Stuart
2024-04-05 17:55 ` [PATCH v4 3/3] drm/xe/xe_guc_submit: Declare reset if banned or killed Jonathan Cavitt
2024-04-09 22:56   ` Matthew Brost
2024-04-12 20:50   ` Summers, Stuart
2024-04-05 19:20 ` ✓ CI.Patch_applied: success for series starting with [v4,1/3] drm/xe/xe_guc_submit: Fix exec queue stop race condition Patchwork
2024-04-05 19:21 ` ✓ CI.checkpatch: " Patchwork
2024-04-05 19:21 ` ✓ CI.KUnit: " Patchwork
2024-04-05 19:33 ` ✓ CI.Build: " Patchwork
2024-04-05 19:35 ` ✓ CI.Hooks: " Patchwork
2024-04-05 19:37 ` ✓ CI.checksparse: " Patchwork
2024-04-05 20:07 ` ✓ CI.BAT: " Patchwork
2024-04-12 20:43 ` [PATCH v4 1/3] " Summers, Stuart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox