]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Reduce LRC timestamp stuck message on VFs to notice
authorMatthew Brost <matthew.brost@intel.com>
Wed, 14 Jan 2026 18:49:05 +0000 (10:49 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 26 Jan 2026 21:42:58 +0000 (16:42 -0500)
An LRC timestamp getting stuck is a somewhat normal occurrence. If a
single VF submits a job that does not get timesliced, the LRC timestamp
will not increment. Reduce the LRC timestamp stuck message on VFs to
notice (same log level as job timeout) to avoid false CI bugs in tests
where a VF submits a job that does not get timesliced.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7032
Fixes: bb63e7257e63 ("drm/xe: Avoid toggling schedule state to check LRC timestamp in TDR")
Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Link: https://patch.msgid.link/20260114184905.4189026-1-matthew.brost@intel.com
(cherry picked from commit e89aacd1ecdd3d13e8f347aa082687878621e03c)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_submit.c

index a27ea931b9562e2caf21990fdb7a365e4a5e7d79..1b2f66f4425be4ad4805dfdfaa37f49853d6d5b9 100644 (file)
@@ -1317,9 +1317,14 @@ static bool check_timeout(struct xe_exec_queue *q, struct xe_sched_job *job)
 
        ctx_timestamp = lower_32_bits(xe_lrc_timestamp(q->lrc[0]));
        if (ctx_timestamp == job->sample_timestamp) {
-               xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
-                          xe_sched_job_seqno(job), xe_sched_job_lrc_seqno(job),
-                          q->guc->id);
+               if (IS_SRIOV_VF(gt_to_xe(gt)))
+                       xe_gt_notice(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
+                                    xe_sched_job_seqno(job),
+                                    xe_sched_job_lrc_seqno(job), q->guc->id);
+               else
+                       xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
+                                  xe_sched_job_seqno(job),
+                                  xe_sched_job_lrc_seqno(job), q->guc->id);
 
                return xe_sched_invalidate_job(job, 0);
        }