intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar
@ 2022-05-27  7:24 Tvrtko Ursulin
  2022-05-27  7:44 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Tvrtko Ursulin @ 2022-05-27  7:24 UTC (permalink / raw)
  To: Intel-gfx; +Cc: dri-devel

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

We have long standing customer complaints that pressing Ctrl-C (or to the
effect of) causes engine resets with otherwise well behaving programs.

Not only is logging engine resets during normal operation not desirable
since it creates support incidents, but more fundamentally we should avoid
going the engine reset path when we can since any engine reset introduces
a chance of harming an innocent context.

Reason for this undesirable behaviour is that the driver currently does
not distinguish between banned contexts and non-persistent contexts which
have been closed.

To fix this we add the distinction between the two reasons for revoking
contexts, which then allows the strict timeout only be applied to banned,
while innocent contexts (well behaving) can preempt cleanly and exit
without triggering the engine reset path.

Note that the added context exiting category applies both to closed non-
persistent context, and any exiting context when hangcheck has been
disabled by the user.

At the same time we rename the backend operation from 'ban' to 'revoke'
which more accurately describes the actual semantics. (There is no ban at
the backend level since banning is a concept driven by the scheduling
frontend. Backends are simply able to revoke a running context so that
is the more appropriate name chosen.)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c   | 23 +++++++++++------
 drivers/gpu/drm/i915/gt/intel_context.c       | 24 ++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_context.h       | 25 +++++++++++++------
 drivers/gpu/drm/i915/gt/intel_context_types.h |  4 ++-
 .../drm/i915/gt/intel_execlists_submission.c  |  6 ++---
 .../gpu/drm/i915/gt/intel_ring_submission.c   |  7 +++---
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 ++++++-----
 drivers/gpu/drm/i915/i915_request.c           |  2 +-
 8 files changed, 77 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index ab4c5ab28e4d..6b171c89b1b3 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -1367,7 +1367,8 @@ static struct intel_engine_cs *active_engine(struct intel_context *ce)
 	return engine;
 }
 
-static void kill_engines(struct i915_gem_engines *engines, bool ban)
+static void
+kill_engines(struct i915_gem_engines *engines, bool exit, bool persistent)
 {
 	struct i915_gem_engines_iter it;
 	struct intel_context *ce;
@@ -1381,9 +1382,15 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
 	 */
 	for_each_gem_engine(ce, engines, it) {
 		struct intel_engine_cs *engine;
+		bool skip = false;
 
-		if (ban && intel_context_ban(ce, NULL))
-			continue;
+		if (exit)
+			skip = intel_context_set_exiting(ce);
+		else if (!persistent)
+			skip = intel_context_exit_nonpersistent(ce, NULL);
+
+		if (skip)
+			continue; /* Already marked. */
 
 		/*
 		 * Check the current active state of this context; if we
@@ -1395,7 +1402,7 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
 		engine = active_engine(ce);
 
 		/* First attempt to gracefully cancel the context */
-		if (engine && !__cancel_engine(engine) && ban)
+		if (engine && !__cancel_engine(engine) && (exit || !persistent))
 			/*
 			 * If we are unable to send a preemptive pulse to bump
 			 * the context from the GPU, we have to resort to a full
@@ -1407,8 +1414,6 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
 
 static void kill_context(struct i915_gem_context *ctx)
 {
-	bool ban = (!i915_gem_context_is_persistent(ctx) ||
-		    !ctx->i915->params.enable_hangcheck);
 	struct i915_gem_engines *pos, *next;
 
 	spin_lock_irq(&ctx->stale.lock);
@@ -1421,7 +1426,8 @@ static void kill_context(struct i915_gem_context *ctx)
 
 		spin_unlock_irq(&ctx->stale.lock);
 
-		kill_engines(pos, ban);
+		kill_engines(pos, !ctx->i915->params.enable_hangcheck,
+			     i915_gem_context_is_persistent(ctx));
 
 		spin_lock_irq(&ctx->stale.lock);
 		GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
@@ -1467,7 +1473,8 @@ static void engines_idle_release(struct i915_gem_context *ctx,
 
 kill:
 	if (list_empty(&engines->link)) /* raced, already closed */
-		kill_engines(engines, true);
+		kill_engines(engines, true,
+			     i915_gem_context_is_persistent(ctx));
 
 	i915_sw_fence_commit(&engines->fence);
 }
diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index 4070cb5711d8..654a092ed3d6 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -601,6 +601,30 @@ u64 intel_context_get_avg_runtime_ns(struct intel_context *ce)
 	return avg;
 }
 
+bool intel_context_ban(struct intel_context *ce, struct i915_request *rq)
+{
+	bool ret = intel_context_set_banned(ce);
+
+	trace_intel_context_ban(ce);
+
+	if (ce->ops->revoke)
+		ce->ops->revoke(ce, rq,
+				INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS);
+
+	return ret;
+}
+
+bool intel_context_exit_nonpersistent(struct intel_context *ce,
+				      struct i915_request *rq)
+{
+	bool ret = intel_context_set_exiting(ce);
+
+	if (ce->ops->revoke)
+		ce->ops->revoke(ce, rq, ce->engine->props.preempt_timeout_ms);
+
+	return ret;
+}
+
 #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
 #include "selftest_context.c"
 #endif
diff --git a/drivers/gpu/drm/i915/gt/intel_context.h b/drivers/gpu/drm/i915/gt/intel_context.h
index b7d3214d2cdd..8e2d70630c49 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.h
+++ b/drivers/gpu/drm/i915/gt/intel_context.h
@@ -25,6 +25,8 @@
 		     ##__VA_ARGS__);					\
 } while (0)
 
+#define INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS (1)
+
 struct i915_gem_ww_ctx;
 
 void intel_context_init(struct intel_context *ce,
@@ -309,18 +311,27 @@ static inline bool intel_context_set_banned(struct intel_context *ce)
 	return test_and_set_bit(CONTEXT_BANNED, &ce->flags);
 }
 
-static inline bool intel_context_ban(struct intel_context *ce,
-				     struct i915_request *rq)
+bool intel_context_ban(struct intel_context *ce, struct i915_request *rq);
+
+static inline bool intel_context_is_schedulable(const struct intel_context *ce)
 {
-	bool ret = intel_context_set_banned(ce);
+	return !test_bit(CONTEXT_EXITING, &ce->flags) &&
+	       !test_bit(CONTEXT_BANNED, &ce->flags);
+}
 
-	trace_intel_context_ban(ce);
-	if (ce->ops->ban)
-		ce->ops->ban(ce, rq);
+static inline bool intel_context_is_exiting(const struct intel_context *ce)
+{
+	return test_bit(CONTEXT_EXITING, &ce->flags);
+}
 
-	return ret;
+static inline bool intel_context_set_exiting(struct intel_context *ce)
+{
+	return test_and_set_bit(CONTEXT_EXITING, &ce->flags);
 }
 
+bool intel_context_exit_nonpersistent(struct intel_context *ce,
+				      struct i915_request *rq);
+
 static inline bool
 intel_context_force_single_submission(const struct intel_context *ce)
 {
diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h
index 09f82545789f..d2d75d9c0c8d 100644
--- a/drivers/gpu/drm/i915/gt/intel_context_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_context_types.h
@@ -40,7 +40,8 @@ struct intel_context_ops {
 
 	int (*alloc)(struct intel_context *ce);
 
-	void (*ban)(struct intel_context *ce, struct i915_request *rq);
+	void (*revoke)(struct intel_context *ce, struct i915_request *rq,
+		       unsigned int preempt_timeout_ms);
 
 	int (*pre_pin)(struct intel_context *ce, struct i915_gem_ww_ctx *ww, void **vaddr);
 	int (*pin)(struct intel_context *ce, void *vaddr);
@@ -122,6 +123,7 @@ struct intel_context {
 #define CONTEXT_GUC_INIT		10
 #define CONTEXT_PERMA_PIN		11
 #define CONTEXT_IS_PARKING		12
+#define CONTEXT_EXITING			13
 
 	struct {
 		u64 timeout_us;
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index a4510b5c0c3d..ad72e2c5c4e7 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -480,9 +480,9 @@ __execlists_schedule_in(struct i915_request *rq)
 
 	if (unlikely(intel_context_is_closed(ce) &&
 		     !intel_engine_has_heartbeat(engine)))
-		intel_context_set_banned(ce);
+		intel_context_set_exiting(ce);
 
-	if (unlikely(intel_context_is_banned(ce) || bad_request(rq)))
+	if (unlikely(!intel_context_is_schedulable(ce) || bad_request(rq)))
 		reset_active(rq, engine);
 
 	if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
@@ -1243,7 +1243,7 @@ static unsigned long active_preempt_timeout(struct intel_engine_cs *engine,
 
 	/* Force a fast reset for terminated contexts (ignoring sysfs!) */
 	if (unlikely(intel_context_is_banned(rq->context) || bad_request(rq)))
-		return 1;
+		return INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS;
 
 	return READ_ONCE(engine->props.preempt_timeout_ms);
 }
diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
index f8f279a195c0..d5d6f1fadcae 100644
--- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
@@ -598,8 +598,9 @@ static void ring_context_reset(struct intel_context *ce)
 	clear_bit(CONTEXT_VALID_BIT, &ce->flags);
 }
 
-static void ring_context_ban(struct intel_context *ce,
-			     struct i915_request *rq)
+static void ring_context_revoke(struct intel_context *ce,
+				struct i915_request *rq,
+				unsigned int preempt_timeout_ms)
 {
 	struct intel_engine_cs *engine;
 
@@ -634,7 +635,7 @@ static const struct intel_context_ops ring_context_ops = {
 
 	.cancel_request = ring_context_cancel_request,
 
-	.ban = ring_context_ban,
+	.revoke = ring_context_revoke,
 
 	.pre_pin = ring_context_pre_pin,
 	.pin = ring_context_pin,
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 5a1dfacf24ea..e62ea35513ea 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -2790,7 +2790,9 @@ static void __guc_context_set_preemption_timeout(struct intel_guc *guc,
 	__guc_context_set_context_policies(guc, &policy, true);
 }
 
-static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
+static void
+guc_context_revoke(struct intel_context *ce, struct i915_request *rq,
+		   unsigned int preempt_timeout_ms)
 {
 	struct intel_guc *guc = ce_to_guc(ce);
 	struct intel_runtime_pm *runtime_pm =
@@ -2829,7 +2831,8 @@ static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
 		 * gets kicked off the HW ASAP.
 		 */
 		with_intel_runtime_pm(runtime_pm, wakeref) {
-			__guc_context_set_preemption_timeout(guc, guc_id, 1);
+			__guc_context_set_preemption_timeout(guc, guc_id,
+							     preempt_timeout_ms);
 			__guc_context_sched_disable(guc, ce, guc_id);
 		}
 	} else {
@@ -2837,7 +2840,7 @@ static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
 			with_intel_runtime_pm(runtime_pm, wakeref)
 				__guc_context_set_preemption_timeout(guc,
 								     ce->guc_id.id,
-								     1);
+								     preempt_timeout_ms);
 		spin_unlock_irqrestore(&ce->guc_state.lock, flags);
 	}
 }
@@ -3190,7 +3193,7 @@ static const struct intel_context_ops guc_context_ops = {
 	.unpin = guc_context_unpin,
 	.post_unpin = guc_context_post_unpin,
 
-	.ban = guc_context_ban,
+	.revoke = guc_context_revoke,
 
 	.cancel_request = guc_context_cancel_request,
 
@@ -3439,7 +3442,7 @@ static const struct intel_context_ops virtual_guc_context_ops = {
 	.unpin = guc_virtual_context_unpin,
 	.post_unpin = guc_context_post_unpin,
 
-	.ban = guc_context_ban,
+	.revoke = guc_context_revoke,
 
 	.cancel_request = guc_context_cancel_request,
 
@@ -3528,7 +3531,7 @@ static const struct intel_context_ops virtual_parent_context_ops = {
 	.unpin = guc_parent_context_unpin,
 	.post_unpin = guc_context_post_unpin,
 
-	.ban = guc_context_ban,
+	.revoke = guc_context_revoke,
 
 	.cancel_request = guc_context_cancel_request,
 
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index 73d5195146b0..c3937640b119 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -611,7 +611,7 @@ bool __i915_request_submit(struct i915_request *request)
 		goto active;
 	}
 
-	if (unlikely(intel_context_is_banned(request->context)))
+	if (unlikely(!intel_context_is_schedulable(request->context)))
 		i915_request_set_error_once(request, -EIO);
 
 	if (unlikely(fatal_error(request->fence.error)))
-- 
2.32.0


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

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-05-27  7:24 [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar Tvrtko Ursulin
@ 2022-05-27  7:44 ` Patchwork
  2022-05-27  9:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2022-05-27  7:44 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Improve user experience and driver robustness under SIGINT or similar
URL   : https://patchwork.freedesktop.org/series/104444/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-05-27  7:24 [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar Tvrtko Ursulin
  2022-05-27  7:44 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
@ 2022-05-27  9:29 ` Patchwork
  2022-05-27 11:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  2022-05-27 12:07 ` [Intel-gfx] [PATCH] " Andrzej Hajda
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2022-05-27  9:29 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 13950 bytes --]

== Series Details ==

Series: drm/i915: Improve user experience and driver robustness under SIGINT or similar
URL   : https://patchwork.freedesktop.org/series/104444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11705 -> Patchwork_104444v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/index.html

Participating hosts (42 -> 47)
------------------------------

  Additional (5): fi-rkl-11600 fi-tgl-u2 bat-adlm-1 bat-atsm-1 fi-bsw-nick 

Known issues
------------

  Here are the changes found in Patchwork_104444v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-u2:          NOTRUN -> [SKIP][1] ([i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@gem_huc_copy@huc-copy.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][2] ([i915#2190])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][3] ([i915#4613]) +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@gem_lmem_swapping@basic.html

  * igt@gem_tiled_pread_basic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][4] ([i915#3282])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-rkl-11600:       NOTRUN -> [SKIP][5] ([i915#3012])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rps@basic-api:
    - fi-glk-j4005:       [PASS][6] -> [DMESG-WARN][7] ([i915#118])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/fi-glk-j4005/igt@i915_pm_rps@basic-api.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-glk-j4005/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@coherency:
    - fi-bdw-5557u:       [PASS][8] -> [INCOMPLETE][9] ([i915#5674] / [i915#5685])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/fi-bdw-5557u/igt@i915_selftest@live@coherency.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-bdw-5557u/igt@i915_selftest@live@coherency.html

  * igt@i915_selftest@live@gem:
    - fi-pnv-d510:        NOTRUN -> [DMESG-FAIL][10] ([i915#4528])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-pnv-d510/igt@i915_selftest@live@gem.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-6:          [PASS][11] -> [DMESG-FAIL][12] ([i915#4494] / [i915#4957])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-dg1-6/igt@i915_selftest@live@hangcheck.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - bat-dg1-5:          NOTRUN -> [INCOMPLETE][13] ([i915#6011])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-dg1-5/igt@i915_suspend@basic-s2idle-without-i915.html
    - fi-bdw-gvtdvm:      NOTRUN -> [INCOMPLETE][14] ([i915#4817])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-bdw-gvtdvm/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       NOTRUN -> [INCOMPLETE][15] ([i915#5982])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_busy@basic@modeset:
    - fi-tgl-u2:          NOTRUN -> [DMESG-WARN][16] ([i915#402]) +3 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@kms_busy@basic@modeset.html
    - bat-adlp-4:         [PASS][17] -> [DMESG-WARN][18] ([i915#3576])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/bat-adlp-4/igt@kms_busy@basic@modeset.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-adlp-4/igt@kms_busy@basic@modeset.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-rkl-11600:       NOTRUN -> [SKIP][19] ([fdo#111827]) +7 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_chamelium@dp-crc-fast.html
    - fi-bsw-nick:        NOTRUN -> [SKIP][20] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-bsw-nick/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-tgl-u2:          NOTRUN -> [SKIP][21] ([fdo#109284] / [fdo#111827]) +7 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][22] ([i915#4070] / [i915#4103]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
    - fi-tgl-u2:          NOTRUN -> [SKIP][23] ([i915#4103]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-u2:          NOTRUN -> [SKIP][24] ([fdo#109285])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][25] ([fdo#109285] / [i915#4098])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-rkl-11600:       NOTRUN -> [SKIP][26] ([i915#4070] / [i915#533])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-rkl-11600:       NOTRUN -> [SKIP][27] ([i915#1072]) +3 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_psr@primary_mmap_gtt.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-tgl-u2:          NOTRUN -> [SKIP][28] ([i915#3555])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@kms_setmode@basic-clone-single-crtc.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][29] ([i915#3555] / [i915#4098])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-bsw-nick:        NOTRUN -> [SKIP][30] ([fdo#109271]) +48 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-bsw-nick/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-userptr:
    - fi-rkl-11600:       NOTRUN -> [SKIP][31] ([fdo#109295] / [i915#3301] / [i915#3708])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@prime_vgem@basic-userptr.html
    - fi-tgl-u2:          NOTRUN -> [SKIP][32] ([fdo#109295] / [i915#3301])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-tgl-u2/igt@prime_vgem@basic-userptr.html

  * igt@prime_vgem@basic-write:
    - fi-rkl-11600:       NOTRUN -> [SKIP][33] ([fdo#109295] / [i915#3291] / [i915#3708]) +2 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-rkl-11600/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@evict:
    - {bat-dg2-9}:        [DMESG-WARN][34] ([i915#5763]) -> [PASS][35] +7 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/bat-dg2-9/igt@i915_selftest@live@evict.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-dg2-9/igt@i915_selftest@live@evict.html

  * igt@i915_selftest@live@execlists:
    - fi-bdw-gvtdvm:      [INCOMPLETE][36] ([i915#2940] / [i915#5801]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/fi-bdw-gvtdvm/igt@i915_selftest@live@execlists.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-bdw-gvtdvm/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-5:          [INCOMPLETE][38] ([i915#4418]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/bat-dg1-5/igt@i915_selftest@live@gt_engines.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-dg1-5/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [DMESG-FAIL][40] ([i915#4528]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/fi-pnv-d510/igt@i915_selftest@live@requests.html

  * igt@kms_busy@basic@flip:
    - bat-adlp-4:         [DMESG-WARN][42] ([i915#3576]) -> [PASS][43] +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/bat-adlp-4/igt@kms_busy@basic@flip.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/bat-adlp-4/igt@kms_busy@basic@flip.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5674]: https://gitlab.freedesktop.org/drm/intel/issues/5674
  [i915#5685]: https://gitlab.freedesktop.org/drm/intel/issues/5685
  [i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
  [i915#5801]: https://gitlab.freedesktop.org/drm/intel/issues/5801
  [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
  [i915#5999]: https://gitlab.freedesktop.org/drm/intel/issues/5999
  [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011
  [i915#6077]: https://gitlab.freedesktop.org/drm/intel/issues/6077
  [i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078
  [i915#6088]: https://gitlab.freedesktop.org/drm/intel/issues/6088
  [i915#6089]: https://gitlab.freedesktop.org/drm/intel/issues/6089
  [i915#6090]: https://gitlab.freedesktop.org/drm/intel/issues/6090
  [i915#6091]: https://gitlab.freedesktop.org/drm/intel/issues/6091
  [i915#6092]: https://gitlab.freedesktop.org/drm/intel/issues/6092
  [i915#6093]: https://gitlab.freedesktop.org/drm/intel/issues/6093
  [i915#6094]: https://gitlab.freedesktop.org/drm/intel/issues/6094
  [i915#6096]: https://gitlab.freedesktop.org/drm/intel/issues/6096
  [i915#6097]: https://gitlab.freedesktop.org/drm/intel/issues/6097
  [i915#6098]: https://gitlab.freedesktop.org/drm/intel/issues/6098
  [i915#6099]: https://gitlab.freedesktop.org/drm/intel/issues/6099


Build changes
-------------

  * Linux: CI_DRM_11705 -> Patchwork_104444v1

  CI-20190529: 20190529
  CI_DRM_11705: 18a2e6dbca526f996da04741cf5ef169e810a50e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6495: 7e2033da45f024a0348e6034fcb7f70a91b80ee9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_104444v1: 18a2e6dbca526f996da04741cf5ef169e810a50e @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

d1a991e31339 drm/i915: Improve user experience and driver robustness under SIGINT or similar

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/index.html

[-- Attachment #2: Type: text/html, Size: 14928 bytes --]

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-05-27  7:24 [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar Tvrtko Ursulin
  2022-05-27  7:44 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
  2022-05-27  9:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2022-05-27 11:17 ` Patchwork
  2022-05-27 12:07 ` [Intel-gfx] [PATCH] " Andrzej Hajda
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2022-05-27 11:17 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 78641 bytes --]

== Series Details ==

Series: drm/i915: Improve user experience and driver robustness under SIGINT or similar
URL   : https://patchwork.freedesktop.org/series/104444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11705_full -> Patchwork_104444v1_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_104444v1_full:

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-3} (NEW):
    - {shard-dg1}:        NOTRUN -> [SKIP][1] +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-18/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-3.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-rkl}:        [PASS][2] -> [FAIL][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@gem_ctx_exec@basic-nohangcheck.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@gem_ctx_exec@basic-nohangcheck.html
    - {shard-tglu}:       [PASS][4] -> [FAIL][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_persistence@engines-hang@bcs0:
    - {shard-dg1}:        [PASS][6] -> [FAIL][7] +3 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-dg1-18/igt@gem_ctx_persistence@engines-hang@bcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-18/igt@gem_ctx_persistence@engines-hang@bcs0.html

  * igt@gem_exec_balancer@fairslice:
    - {shard-dg1}:        [PASS][8] -> [TIMEOUT][9] +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-dg1-12/igt@gem_exec_balancer@fairslice.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-18/igt@gem_exec_balancer@fairslice.html

  * igt@gem_exec_balancer@nohangcheck:
    - {shard-dg1}:        NOTRUN -> [FAIL][10]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-12/igt@gem_exec_balancer@nohangcheck.html

  * igt@kms_cursor_crc@pipe-d-cursor-256x256-offscreen:
    - {shard-dg1}:        [PASS][11] -> [DMESG-WARN][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-dg1-15/igt@kms_cursor_crc@pipe-d-cursor-256x256-offscreen.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-13/igt@kms_cursor_crc@pipe-d-cursor-256x256-offscreen.html

  * igt@kms_vblank@pipe-a-wait-forked-hang:
    - {shard-dg1}:        NOTRUN -> [SKIP][13]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-12/igt@kms_vblank@pipe-a-wait-forked-hang.html

  
New tests
---------

  New tests have been introduced between CI_DRM_11705_full and Patchwork_104444v1_full:

### New IGT tests (119) ###

  * igt@gem_exec_balancer@hog:
    - Statuses : 8 pass(s) 1 skip(s)
    - Exec time: [0.0, 12.90] s

  * igt@gem_exec_balancer@sliced:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 13.52] s

  * igt@gem_exec_endless@dispatch:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@gem_exec_endless@dispatch@bcs0:
    - Statuses : 1 pass(s) 3 skip(s)
    - Exec time: [0.00] s

  * igt@gem_exec_endless@dispatch@rcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.04] s

  * igt@gem_exec_endless@dispatch@vcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.04] s

  * igt@gem_exec_endless@dispatch@vecs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.04] s

  * igt@gem_exec_reloc@basic-concurrent0:
    - Statuses : 7 pass(s)
    - Exec time: [5.39, 5.68] s

  * igt@gem_exec_reloc@basic-concurrent16:
    - Statuses : 10 pass(s)
    - Exec time: [5.40, 5.88] s

  * igt@gem_exec_schedule@preempt-engines:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@gem_exec_schedule@preempt-engines@bcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.09, 1.55] s

  * igt@gem_exec_schedule@preempt-engines@rcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.08, 0.95] s

  * igt@gem_exec_schedule@preempt-engines@vcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.09, 0.94] s

  * igt@gem_exec_schedule@preempt-engines@vecs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.09, 1.05] s

  * igt@gem_exec_schedule@submit-early-slice:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@submit-early-slice@bcs0:
    - Statuses : 2 pass(s)
    - Exec time: [0.02, 0.03] s

  * igt@gem_exec_schedule@submit-early-slice@rcs0:
    - Statuses : 2 pass(s)
    - Exec time: [0.02, 0.04] s

  * igt@gem_exec_schedule@submit-early-slice@vcs0:
    - Statuses : 2 pass(s)
    - Exec time: [0.02, 0.04] s

  * igt@gem_exec_schedule@submit-early-slice@vcs1:
    - Statuses : 1 pass(s)
    - Exec time: [0.03] s

  * igt@gem_exec_schedule@submit-early-slice@vecs0:
    - Statuses : 2 pass(s)
    - Exec time: [0.02, 0.04] s

  * igt@gem_exec_schedule@submit-golden-slice:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@gem_exec_schedule@submit-golden-slice@bcs0:
    - Statuses : 8 pass(s)
    - Exec time: [0.02, 0.21] s

  * igt@gem_exec_schedule@submit-golden-slice@rcs0:
    - Statuses : 8 pass(s)
    - Exec time: [0.03, 0.23] s

  * igt@gem_exec_schedule@submit-golden-slice@vcs0:
    - Statuses : 8 pass(s)
    - Exec time: [0.02, 0.22] s

  * igt@gem_exec_schedule@submit-golden-slice@vcs1:
    - Statuses : 4 pass(s)
    - Exec time: [0.03, 0.04] s

  * igt@gem_exec_schedule@submit-golden-slice@vecs0:
    - Statuses : 8 pass(s)
    - Exec time: [0.03, 0.21] s

  * igt@gem_exec_schedule@submit-late-slice:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@gem_exec_schedule@submit-late-slice@bcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.02, 0.22] s

  * igt@gem_exec_schedule@submit-late-slice@rcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.02, 0.21] s

  * igt@gem_exec_schedule@submit-late-slice@vcs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.02, 0.21] s

  * igt@gem_exec_schedule@submit-late-slice@vecs0:
    - Statuses : 4 pass(s)
    - Exec time: [0.02, 0.21] s

  * igt@i915_pciid:
    - Statuses : 8 pass(s)
    - Exec time: [0.03, 0.39] s

  * igt@i915_pm_lpsp@kms-lpsp:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - Statuses : 2 skip(s)
    - Exec time: [0.0] s

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-edp:
    - Statuses : 3 pass(s)
    - Exec time: [0.12, 0.52] s

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - Statuses : 1 fail(s) 1 skip(s)
    - Exec time: [0.00, 1.22] s

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-vga:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@i915_pm_rc6_residency@rc6-fence:
    - Statuses : 6 pass(s) 2 warn(s)
    - Exec time: [12.21, 18.28] s

  * igt@i915_query@engine-info:
    - Statuses : 8 pass(s)
    - Exec time: [0.00, 0.03] s

  * igt@i915_query@engine-info-invalid:
    - Statuses : 9 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@linear-16bpp-rotate-0:
    - Statuses : 10 pass(s) 1 skip(s)
    - Exec time: [0.0, 14.38] s

  * igt@kms_big_fb@linear-16bpp-rotate-180:
    - Statuses : 8 pass(s) 1 skip(s)
    - Exec time: [0.0, 24.17] s

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@linear-16bpp-rotate-90:
    - Statuses : 9 skip(s)
    - Exec time: [0.03, 0.26] s

  * igt@kms_big_fb@linear-32bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.55, 26.81] s

  * igt@kms_big_fb@linear-32bpp-rotate-180:
    - Statuses : 8 pass(s) 1 skip(s)
    - Exec time: [0.0, 28.55] s

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - Statuses : 8 skip(s)
    - Exec time: [0.0, 0.24] s

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - Statuses : 10 skip(s)
    - Exec time: [0.0, 0.25] s

  * igt@kms_big_fb@linear-64bpp-rotate-0:
    - Statuses : 7 pass(s) 1 skip(s)
    - Exec time: [0.0, 24.35] s

  * igt@kms_big_fb@linear-64bpp-rotate-180:
    - Statuses : 8 pass(s) 1 skip(s)
    - Exec time: [0.0, 16.25] s

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - Statuses : 6 skip(s)
    - Exec time: [0.0, 0.29] s

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - Statuses : 9 skip(s)
    - Exec time: [0.0, 0.28] s

  * igt@kms_big_fb@linear-8bpp-rotate-0:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 13.63] s

  * igt@kms_big_fb@linear-8bpp-rotate-180:
    - Statuses : 7 pass(s)
    - Exec time: [1.10, 12.82] s

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - Statuses : 10 skip(s)
    - Exec time: [0.0, 0.25] s

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - Statuses : 1 skip(s)
    - Exec time: [0.06] s

  * igt@kms_big_fb@linear-addfb:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@x-tiled-16bpp-rotate-0:
    - Statuses : 9 pass(s)
    - Exec time: [1.19, 23.39] s

  * igt@kms_big_fb@x-tiled-16bpp-rotate-180:
    - Statuses : 8 pass(s) 2 skip(s)
    - Exec time: [0.0, 4.02] s

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - Statuses : 9 skip(s)
    - Exec time: [0.0, 0.25] s

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - Statuses : 10 skip(s)
    - Exec time: [0.0, 0.31] s

  * igt@kms_big_fb@x-tiled-32bpp-rotate-0:
    - Statuses : 9 pass(s)
    - Exec time: [1.49, 40.34] s

  * igt@kms_big_fb@x-tiled-32bpp-rotate-180:
    - Statuses : 9 pass(s)
    - Exec time: [1.42, 39.39] s

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@x-tiled-32bpp-rotate-90:
    - Statuses : 6 skip(s)
    - Exec time: [0.0, 0.28] s

  * igt@kms_big_fb@x-tiled-64bpp-rotate-0:
    - Statuses : 10 pass(s)
    - Exec time: [1.62, 28.42] s

  * igt@kms_big_fb@x-tiled-64bpp-rotate-180:
    - Statuses : 7 pass(s)
    - Exec time: [1.60, 24.02] s

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - Statuses : 9 skip(s)
    - Exec time: [0.02, 0.23] s

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - Statuses : 10 skip(s)
    - Exec time: [0.02, 0.25] s

  * igt@kms_big_fb@x-tiled-8bpp-rotate-0:
    - Statuses : 10 pass(s)
    - Exec time: [1.05, 17.97] s

  * igt@kms_big_fb@x-tiled-8bpp-rotate-180:
    - Statuses : 8 pass(s) 2 skip(s)
    - Exec time: [0.0, 3.44] s

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - Statuses : 8 skip(s)
    - Exec time: [0.0, 0.29] s

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - Statuses : 8 skip(s)
    - Exec time: [0.0, 0.29] s

  * igt@kms_big_fb@x-tiled-addfb:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@x-tiled-addfb-size-offset-overflow:
    - Statuses : 6 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@x-tiled-addfb-size-overflow:
    - Statuses : 8 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@y-tiled-16bpp-rotate-0:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 34.55] s

  * igt@kms_big_fb@y-tiled-16bpp-rotate-180:
    - Statuses : 7 pass(s) 2 skip(s)
    - Exec time: [0.0, 4.30] s

  * igt@kms_big_fb@y-tiled-16bpp-rotate-270:
    - Statuses : 3 pass(s) 6 skip(s)
    - Exec time: [0.0, 1.94] s

  * igt@kms_big_fb@y-tiled-16bpp-rotate-90:
    - Statuses : 3 pass(s) 7 skip(s)
    - Exec time: [0.0, 2.00] s

  * igt@kms_big_fb@y-tiled-32bpp-rotate-0:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 68.36] s

  * igt@kms_big_fb@y-tiled-32bpp-rotate-180:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 65.61] s

  * igt@kms_big_fb@y-tiled-32bpp-rotate-270:
    - Statuses : 6 pass(s) 3 skip(s)
    - Exec time: [0.0, 64.86] s

  * igt@kms_big_fb@y-tiled-32bpp-rotate-90:
    - Statuses : 7 pass(s) 3 skip(s)
    - Exec time: [0.0, 62.44] s

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - Statuses : 2 pass(s) 2 skip(s)
    - Exec time: [0.0, 8.79] s

  * igt@kms_big_fb@y-tiled-64bpp-rotate-180:
    - Statuses : 6 pass(s) 2 skip(s)
    - Exec time: [0.0, 8.70] s

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - Statuses : 11 skip(s)
    - Exec time: [0.0, 0.26] s

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - Statuses : 9 skip(s)
    - Exec time: [0.0, 0.29] s

  * igt@kms_big_fb@y-tiled-8bpp-rotate-0:
    - Statuses : 6 pass(s) 2 skip(s)
    - Exec time: [0.0, 23.83] s

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - Statuses : 3 pass(s) 3 skip(s)
    - Exec time: [0.0, 3.42] s

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - Statuses : 9 skip(s)
    - Exec time: [0.0, 0.28] s

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - Statuses : 8 skip(s)
    - Exec time: [0.0, 0.23] s

  * igt@kms_big_fb@y-tiled-addfb:
    - Statuses : 7 pass(s) 3 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - Statuses : 4 pass(s) 3 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
    - Statuses : 5 pass(s) 5 skip(s)
    - Exec time: [0.0, 36.76] s

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-180:
    - Statuses : 5 pass(s) 5 skip(s)
    - Exec time: [0.0, 38.11] s

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
    - Statuses : 1 pass(s) 8 skip(s)
    - Exec time: [0.0, 1.76] s

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-90:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 1.86] s

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - Statuses : 5 pass(s) 4 skip(s)
    - Exec time: [0.0, 59.22] s

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - Statuses : 4 pass(s) 5 skip(s)
    - Exec time: [0.0, 57.38] s

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
    - Statuses : 2 fail(s) 2 pass(s) 6 skip(s)
    - Exec time: [0.0, 5.49] s

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
    - Statuses : 4 pass(s) 6 skip(s)
    - Exec time: [0.0, 64.33] s

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - Statuses : 9 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
    - Statuses : 11 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-90:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - Statuses : 8 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - Statuses : 11 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - Statuses : 10 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-addfb:
    - Statuses : 5 pass(s) 4 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - Statuses : 3 pass(s) 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - Statuses : 5 pass(s) 3 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_chamelium@hdmi-audio:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.03] s

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.03] s

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-c-hdmi-a-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.03] s

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-hdmi-a-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.03] s

  

Known issues
------------

  Here are the changes found in Patchwork_104444v1_full that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - shard-skl:          ([PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [FAIL][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37]) ([i915#5032]) -> ([PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50], [PASS][51], [PASS][52], [PASS][53], [PASS][54], [PASS][55], [PASS][56], [PASS][57], [PASS][58], [PASS][59], [PASS][60])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl2/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl9/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl9/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl9/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl8/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl8/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl8/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl7/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl7/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl7/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl6/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl6/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl6/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl3/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl3/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl2/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl1/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl1/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl10/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl10/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl10/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl9/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl9/boot.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl9/boot.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/boot.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/boot.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/boot.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/boot.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/boot.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/boot.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/boot.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/boot.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl4/boot.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl4/boot.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl4/boot.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/boot.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/boot.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl2/boot.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl2/boot.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl1/boot.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl1/boot.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl10/boot.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl10/boot.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl10/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-glk:          NOTRUN -> [SKIP][61] ([fdo#109271]) +33 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][62] ([i915#180]) +4 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_ctx_persistence@hostile:
    - shard-tglb:         [PASS][63] -> [FAIL][64] ([i915#2410]) +1 similar issue
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-tglb7/igt@gem_ctx_persistence@hostile.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb7/igt@gem_ctx_persistence@hostile.html

  * igt@gem_exec_balancer@parallel-out-fence:
    - shard-skl:          NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#1888])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@gem_exec_balancer@parallel-out-fence.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][66] ([i915#2842])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-kbl:          [PASS][67] -> [FAIL][68] ([i915#2842])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl6/igt@gem_exec_fair@basic-none@vecs0.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl7/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-iclb:         NOTRUN -> [FAIL][69] ([i915#2842])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
    - shard-kbl:          NOTRUN -> [FAIL][70] ([i915#2842])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_whisper@basic-forked-all:
    - shard-glk:          [PASS][71] -> [DMESG-WARN][72] ([i915#118]) +1 similar issue
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk7/igt@gem_exec_whisper@basic-forked-all.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk6/igt@gem_exec_whisper@basic-forked-all.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-glk:          NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#4613])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-skl:          NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#4613]) +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-kbl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#4613])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_render_copy@yf-tiled-to-vebox-y-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][76] ([i915#768])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@gem_render_copy@yf-tiled-to-vebox-y-tiled.html

  * igt@gem_softpin@evict-single-offset:
    - shard-glk:          NOTRUN -> [FAIL][77] ([i915#4171])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@gem_softpin@evict-single-offset.html

  * igt@gem_userptr_blits@input-checking:
    - shard-glk:          NOTRUN -> [DMESG-WARN][78] ([i915#4991])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-iclb:         NOTRUN -> [SKIP][79] ([i915#3297])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@gem_userptr_blits@unsync-unmap.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a (NEW):
    - {shard-tglu}:       NOTRUN -> [FAIL][80] ([i915#3825])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglu-2/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_pm_lpsp@screens-disabled:
    - shard-iclb:         NOTRUN -> [SKIP][81] ([i915#1902])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@i915_pm_lpsp@screens-disabled.html

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-iclb:         NOTRUN -> [SKIP][82] ([fdo#109293] / [fdo#109506])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-iclb:         NOTRUN -> [SKIP][83] ([fdo#110892])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([i915#5286])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-tglb:         NOTRUN -> [SKIP][85] ([i915#5286]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-16bpp-rotate-0 (NEW):
    - {shard-rkl}:        [PASS][86] -> ([SKIP][87], [PASS][88]) ([i915#1845] / [i915#4098])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-6/igt@kms_big_fb@linear-16bpp-rotate-0.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-4/igt@kms_big_fb@linear-16bpp-rotate-0.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_big_fb@linear-16bpp-rotate-0.html

  * igt@kms_big_fb@linear-16bpp-rotate-270 (NEW):
    - {shard-rkl}:        NOTRUN -> [SKIP][89] ([i915#1845] / [i915#4098]) +5 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-4/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-0 (NEW):
    - {shard-rkl}:        [SKIP][90] ([i915#1845] / [i915#4098]) -> ([PASS][91], [SKIP][92]) ([i915#1845] / [i915#4098]) +1 similar issue
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_big_fb@linear-64bpp-rotate-0.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-0.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-4/igt@kms_big_fb@linear-64bpp-rotate-0.html

  * igt@kms_big_fb@linear-64bpp-rotate-270 (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][93] ([fdo#110725] / [fdo#111614])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-90 (NEW):
    - {shard-tglu}:       NOTRUN -> [SKIP][94] ([fdo#111614])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglu-2/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90 (NEW):
    - {shard-rkl}:        [SKIP][95] ([i915#1845] / [i915#4098]) -> [SKIP][96] ([fdo#111614] / [i915#3638]) +1 similar issue
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][97] ([i915#3743])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-270 (NEW):
    - {shard-rkl}:        [PASS][98] -> [SKIP][99] ([i915#1845] / [i915#4098])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-6/igt@kms_big_fb@y-tiled-32bpp-rotate-270.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-1/igt@kms_big_fb@y-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90 (NEW):
    - {shard-dg1}:        NOTRUN -> [SKIP][100] ([i915#3638]) +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-12/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-180 (NEW):
    - {shard-tglu}:       NOTRUN -> [SKIP][101] ([fdo#111615])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglu-2/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-90 (NEW):
    - {shard-rkl}:        [SKIP][102] ([i915#1845] / [i915#4098]) -> [SKIP][103] ([fdo#110723])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180 (NEW):
    - {shard-rkl}:        [SKIP][104] ([i915#1845] / [i915#4098]) -> ([SKIP][105], [SKIP][106]) ([fdo#110723] / [i915#1845] / [i915#4098])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-4/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-270 (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][107] ([fdo#111615])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-90 (NEW):
    - {shard-rkl}:        [SKIP][108] ([fdo#110723]) -> ([SKIP][109], [SKIP][110]) ([i915#1845] / [i915#4098])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-4/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-1/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-iclb:         NOTRUN -> [SKIP][111] ([fdo#110723])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][112] ([i915#3689])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-basic-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][113] ([fdo#111615] / [i915#3689])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_ccs@pipe-a-crc-primary-basic-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-a-random-ccs-data-4_tiled_dg2_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][114] ([i915#6095])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_ccs@pipe-a-random-ccs-data-4_tiled_dg2_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][115] ([fdo#109271] / [i915#3886]) +2 similar issues
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][116] ([fdo#109271] / [i915#3886]) +2 similar issues
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][117] ([fdo#109278] / [i915#3886]) +1 similar issue
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
    - shard-apl:          NOTRUN -> [SKIP][118] ([fdo#109271] / [i915#3886])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][119] ([fdo#109271] / [i915#3886]) +1 similar issue
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][120] ([fdo#109278]) +11 similar issues
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_gen12_rc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][121] ([fdo#109271]) +89 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_gen12_rc_ccs.html

  * igt@kms_chamelium@dp-hpd-with-enabled-mode:
    - shard-iclb:         NOTRUN -> [SKIP][122] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@kms_chamelium@dp-hpd-with-enabled-mode.html

  * igt@kms_chamelium@vga-edid-read:
    - shard-tglb:         NOTRUN -> [SKIP][123] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_chamelium@vga-edid-read.html

  * igt@kms_chamelium@vga-hpd-for-each-pipe:
    - shard-apl:          NOTRUN -> [SKIP][124] ([fdo#109271] / [fdo#111827]) +2 similar issues
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@kms_chamelium@vga-hpd-for-each-pipe.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-kbl:          NOTRUN -> [SKIP][125] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl3/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color_chamelium@pipe-a-ctm-max:
    - shard-glk:          NOTRUN -> [SKIP][126] ([fdo#109271] / [fdo#111827])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@kms_color_chamelium@pipe-a-ctm-max.html

  * igt@kms_color_chamelium@pipe-d-ctm-blue-to-red:
    - shard-skl:          NOTRUN -> [SKIP][127] ([fdo#109271] / [fdo#111827]) +9 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@kms_color_chamelium@pipe-d-ctm-blue-to-red.html

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][128] ([i915#3359])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-apl:          [PASS][129] -> [DMESG-WARN][130] ([i915#180]) +2 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge:
    - shard-skl:          NOTRUN -> [SKIP][131] ([fdo#109271]) +123 similar issues
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-tglb:         NOTRUN -> [SKIP][132] ([fdo#109274] / [fdo#111825]) +1 similar issue
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-iclb:         NOTRUN -> [SKIP][133] ([fdo#109274] / [fdo#109278])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-tglb:         NOTRUN -> [SKIP][134] ([i915#4103])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-skl:          NOTRUN -> [FAIL][135] ([i915#4767])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][136] -> [FAIL][137] ([i915#2122])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk9/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk2/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][138] ([fdo#109274])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1:
    - shard-glk:          [PASS][139] -> [FAIL][140] ([i915#79])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-skl:          [PASS][141] -> [FAIL][142] ([i915#79])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1:
    - shard-skl:          [PASS][143] -> [FAIL][144] ([i915#2122]) +3 similar issues
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl3/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-iclb:         [PASS][145] -> [SKIP][146] ([i915#3701])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-glk:          [PASS][147] -> [FAIL][148] ([i915#4911])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
    - shard-skl:          NOTRUN -> [SKIP][149] ([fdo#109271] / [i915#3701])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt:
    - shard-tglb:         NOTRUN -> [SKIP][150] ([fdo#109280] / [fdo#111825]) +2 similar issues
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render:
    - shard-iclb:         NOTRUN -> [SKIP][151] ([fdo#109280]) +7 similar issues
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_hdr@static-toggle:
    - shard-iclb:         NOTRUN -> [SKIP][152] ([i915#3555])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_hdr@static-toggle.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][153] ([fdo#109271] / [i915#533])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
    - shard-skl:          NOTRUN -> [FAIL][154] ([fdo#108145] / [i915#265])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
    - shard-kbl:          NOTRUN -> [FAIL][155] ([fdo#108145] / [i915#265]) +1 similar issue
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-kbl:          NOTRUN -> [FAIL][156] ([i915#265])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl3/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-kbl:          NOTRUN -> [SKIP][157] ([fdo#109271] / [i915#658]) +1 similar issue
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-apl:          NOTRUN -> [SKIP][158] ([fdo#109271] / [i915#658])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
    - shard-iclb:         NOTRUN -> [SKIP][159] ([fdo#111068] / [i915#658]) +1 similar issue
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
    - shard-skl:          NOTRUN -> [SKIP][160] ([fdo#109271] / [i915#658])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-tglb:         NOTRUN -> [SKIP][161] ([i915#1911])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [PASS][162] -> [SKIP][163] ([fdo#109441])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb6/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         NOTRUN -> [SKIP][164] ([fdo#109441]) +1 similar issue
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][165] -> [DMESG-WARN][166] ([i915#180]) +1 similar issue
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-b-wait-busy:
    - shard-snb:          [PASS][167] -> [SKIP][168] ([fdo#109271]) +2 similar issues
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-snb2/igt@kms_vblank@pipe-b-wait-busy.html
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-snb7/igt@kms_vblank@pipe-b-wait-busy.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-glk:          [PASS][169] -> [SKIP][170] ([fdo#109271])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk6/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-d-ts-continuation-idle:
    - shard-apl:          NOTRUN -> [SKIP][171] ([fdo#109271]) +32 similar issues
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@kms_vblank@pipe-d-ts-continuation-idle.html

  * igt@kms_vrr@flip-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][172] ([i915#3555])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_vrr@flip-suspend.html

  * igt@nouveau_crc@pipe-a-source-outp-complete:
    - shard-iclb:         NOTRUN -> [SKIP][173] ([i915#2530])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@nouveau_crc@pipe-a-source-outp-complete.html

  * igt@nouveau_crc@pipe-c-source-rg:
    - shard-tglb:         NOTRUN -> [SKIP][174] ([i915#2530])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@nouveau_crc@pipe-c-source-rg.html

  * igt@nouveau_crc@pipe-d-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][175] ([fdo#109278] / [i915#2530])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@nouveau_crc@pipe-d-source-rg.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-iclb:         NOTRUN -> [SKIP][176] ([fdo#109289])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@perf@unprivileged-single-ctx-counters.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-iclb:         NOTRUN -> [SKIP][177] ([fdo#109295])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@prime_vgem@fence-flip-hang.html

  * igt@sysfs_clients@fair-0:
    - shard-skl:          NOTRUN -> [SKIP][178] ([fdo#109271] / [i915#2994])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl7/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@fair-7:
    - shard-glk:          NOTRUN -> [SKIP][179] ([fdo#109271] / [i915#2994])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk7/igt@sysfs_clients@fair-7.html

  * igt@sysfs_clients@sema-50:
    - shard-tglb:         NOTRUN -> [SKIP][180] ([i915#2994])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@sysfs_clients@sema-50.html

  * igt@sysfs_heartbeat_interval@mixed@rcs0:
    - shard-skl:          NOTRUN -> [FAIL][181] ([i915#1731]) +1 similar issue
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl3/igt@sysfs_heartbeat_interval@mixed@rcs0.html

  
#### Possible fixes ####

  * igt@drm_read@short-buffer-nonblock:
    - {shard-rkl}:        [SKIP][182] ([i915#4098]) -> [PASS][183]
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@drm_read@short-buffer-nonblock.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@drm_read@short-buffer-nonblock.html

  * igt@gem_exec_capture@pi@rcs0:
    - shard-iclb:         [INCOMPLETE][184] ([i915#3371]) -> [PASS][185]
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb6/igt@gem_exec_capture@pi@rcs0.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb3/igt@gem_exec_capture@pi@rcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [FAIL][186] ([i915#2846]) -> [PASS][187]
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-glk7/igt@gem_exec_fair@basic-deadline.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-glk3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-apl:          [FAIL][188] ([i915#2842]) -> [PASS][189]
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl8/igt@gem_exec_fair@basic-none@vecs0.html
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl2/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-uc:
    - shard-snb:          [SKIP][190] ([fdo#109271]) -> [PASS][191] +2 similar issues
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-snb6/igt@gem_exec_flush@basic-batch-kernel-default-uc.html
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-snb4/igt@gem_exec_flush@basic-batch-kernel-default-uc.html

  * igt@i915_pm_dc@dc9-dpms:
    - {shard-tglu}:       [SKIP][192] ([i915#4281]) -> [PASS][193]
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-tglu-6/igt@i915_pm_dc@dc9-dpms.html
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglu-4/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@dpms-lpsp:
    - {shard-rkl}:        [SKIP][194] ([i915#1397]) -> [PASS][195]
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@i915_pm_rpm@dpms-lpsp.html
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@i915_pm_rpm@dpms-lpsp.html

  * igt@i915_suspend@debugfs-reader:
    - shard-kbl:          [INCOMPLETE][196] ([i915#3614]) -> [PASS][197]
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl4/igt@i915_suspend@debugfs-reader.html
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@i915_suspend@debugfs-reader.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          [DMESG-WARN][198] ([i915#180]) -> [PASS][199]
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl3/igt@i915_suspend@fence-restore-tiled2untiled.html
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl1/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_color@pipe-a-ctm-blue-to-red:
    - {shard-rkl}:        [SKIP][200] ([i915#1149] / [i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][201] +1 similar issue
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_color@pipe-a-ctm-blue-to-red.html
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_color@pipe-a-ctm-blue-to-red.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding:
    - {shard-rkl}:        [SKIP][202] ([fdo#112022] / [i915#4070]) -> [PASS][203] +3 similar issues
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding.html
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding.html

  * igt@kms_cursor_crc@pipe-b-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][204] ([i915#180]) -> [PASS][205] +1 similar issue
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl7/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-suspend.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - {shard-rkl}:        [SKIP][206] ([fdo#111825] / [i915#4070]) -> [PASS][207] +3 similar issues
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-skl:          [FAIL][208] ([i915#2346]) -> [PASS][209]
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl8/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled:
    - {shard-rkl}:        [SKIP][210] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][211] +3 similar issues
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html

  * igt@kms_fbcon_fbt@psr:
    - {shard-rkl}:        [SKIP][212] ([fdo#110189] / [i915#3955]) -> [PASS][213]
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_fbcon_fbt@psr.html
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_fbcon_fbt@psr.html

  * igt@kms_flip@nonexisting-fb@a-edp1:
    - shard-skl:          [DMESG-WARN][214] ([i915#1982]) -> [PASS][215]
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl3/igt@kms_flip@nonexisting-fb@a-edp1.html
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/igt@kms_flip@nonexisting-fb@a-edp1.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1:
    - shard-skl:          [FAIL][216] ([i915#2122]) -> [PASS][217] +1 similar issue
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl7/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl6/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - {shard-rkl}:        [SKIP][218] ([i915#1849] / [i915#4098]) -> [PASS][219] +11 similar issues
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_invalid_mode@zero-hdisplay:
    - {shard-rkl}:        [SKIP][220] ([i915#4278]) -> [PASS][221]
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_invalid_mode@zero-hdisplay.html
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_invalid_mode@zero-hdisplay.html

  * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-b:
    - shard-tglb:         [INCOMPLETE][222] -> [PASS][223]
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-tglb8/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-b.html
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-b.html

  * igt@kms_plane@plane-position-covered@pipe-b-planes:
    - {shard-rkl}:        [SKIP][224] ([i915#3558]) -> [PASS][225] +1 similar issue
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_plane@plane-position-covered@pipe-b-planes.html
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_plane@plane-position-covered@pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - {shard-rkl}:        [SKIP][226] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][227]
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][228] ([fdo#108145] / [i915#265]) -> [PASS][229]
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_plane_cursor@pipe-b-viewport-size-64:
    - {shard-rkl}:        [SKIP][230] ([i915#1845] / [i915#4098]) -> [PASS][231] +11 similar issues
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_plane_cursor@pipe-b-viewport-size-64.html
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_plane_cursor@pipe-b-viewport-size-64.html

  * igt@kms_plane_lowres@pipe-b-tiling-x:
    - {shard-dg1}:        [FAIL][232] -> [PASS][233]
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-dg1-18/igt@kms_plane_lowres@pipe-b-tiling-x.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-dg1-15/igt@kms_plane_lowres@pipe-b-tiling-x.html

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - {shard-rkl}:        [SKIP][234] ([i915#1849] / [i915#3558] / [i915#4070]) -> [PASS][235]
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_plane_multiple@atomic-pipe-b-tiling-x.html
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_plane_multiple@atomic-pipe-b-tiling-x.html

  * igt@kms_properties@plane-properties-legacy:
    - {shard-rkl}:        [SKIP][236] ([i915#1849]) -> [PASS][237] +1 similar issue
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-2/igt@kms_properties@plane-properties-legacy.html
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_properties@plane-properties-legacy.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-iclb:         [SKIP][238] ([fdo#109441]) -> [PASS][239]
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb8/igt@kms_psr@psr2_sprite_render.html
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb2/igt@kms_psr@psr2_sprite_render.html

  * igt@kms_psr@sprite_blt:
    - {shard-rkl}:        [SKIP][240] ([i915#1072]) -> [PASS][241] +1 similar issue
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_psr@sprite_blt.html
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_psr@sprite_blt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-tglb:         [SKIP][242] ([i915#5519]) -> [PASS][243]
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-tglb8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-tglb1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_universal_plane@universal-plane-pipe-a-sanity:
    - {shard-rkl}:        [SKIP][244] ([i915#1845] / [i915#4070] / [i915#4098]) -> [PASS][245] +1 similar issue
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-rkl-1/igt@kms_universal_plane@universal-plane-pipe-a-sanity.html
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-rkl-6/igt@kms_universal_plane@universal-plane-pipe-a-sanity.html

  
#### Warnings ####

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-iclb:         [DMESG-WARN][246] ([i915#5614]) -> [SKIP][247] ([i915#4525])
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb2/igt@gem_exec_balancer@parallel-bb-first.html
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb5/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs:
    - shard-skl:          [SKIP][248] ([fdo#109271] / [i915#6095]) -> [SKIP][249] ([fdo#109271]) +10 similar issues
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs.html
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl8/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-rotation-180-4_tiled_dg2_mc_ccs:
    - shard-iclb:         [SKIP][250] ([fdo#109278] / [i915#6095]) -> [SKIP][251] ([fdo#109278]) +11 similar issues
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb2/igt@kms_ccs@pipe-c-crc-primary-rotation-180-4_tiled_dg2_mc_ccs.html
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb6/igt@kms_ccs@pipe-c-crc-primary-rotation-180-4_tiled_dg2_mc_ccs.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-iclb:         [FAIL][252] ([i915#5939]) -> [SKIP][253] ([fdo#109642] / [fdo#111068] / [i915#658])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-iclb2/igt@kms_psr2_su@page_flip-p010.html
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-iclb6/igt@kms_psr2_su@page_flip-p010.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][254], [FAIL][255], [FAIL][256], [FAIL][257], [FAIL][258], [FAIL][259], [FAIL][260], [FAIL][261], [FAIL][262], [FAIL][263], [FAIL][264], [FAIL][265], [FAIL][266]) ([i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][267], [FAIL][268], [FAIL][269], [FAIL][270], [FAIL][271], [FAIL][272], [FAIL][273], [FAIL][274], [FAIL][275], [FAIL][276], [FAIL][277], [FAIL][278]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl6/igt@runner@aborted.html
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl1/igt@runner@aborted.html
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl4/igt@runner@aborted.html
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl6/igt@runner@aborted.html
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl4/igt@runner@aborted.html
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl6/igt@runner@aborted.html
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl3/igt@runner@aborted.html
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl1/igt@runner@aborted.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl6/igt@runner@aborted.html
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl7/igt@runner@aborted.html
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl7/igt@runner@aborted.html
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl7/igt@runner@aborted.html
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-kbl7/igt@runner@aborted.html
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl1/igt@runner@aborted.html
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@runner@aborted.html
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@runner@aborted.html
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl7/igt@runner@aborted.html
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl1/igt@runner@aborted.html
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl3/igt@runner@aborted.html
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl6/igt@runner@aborted.html
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@runner@aborted.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl7/igt@runner@aborted.html
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@runner@aborted.html
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl4/igt@runner@aborted.html
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-kbl1/igt@runner@aborted.html
    - shard-apl:          ([FAIL][279], [FAIL][280], [FAIL][281], [FAIL][282]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][283], [FAIL][284], [FAIL][285], [FAIL][286], [FAIL][287]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl2/igt@runner@aborted.html
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl6/igt@runner@aborted.html
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl3/igt@runner@aborted.html
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-apl6/igt@runner@aborted.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl7/igt@runner@aborted.html
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl3/igt@runner@aborted.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl4/igt@runner@aborted.html
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl7/igt@runner@aborted.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-apl7/igt@runner@aborted.html
    - shard-skl:          ([FAIL][288], [FAIL][289], [FAIL][290]) ([i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][291], [FAIL][292]) ([i915#4312] / [i915#5257])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl1/igt@runner@aborted.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl4/igt@runner@aborted.html
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11705/shard-skl7/igt@runner@aborted.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl9/igt@runner@aborted.html
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/shard-skl2/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
  [fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112022]: https://bugs.freedesktop.org/show_bug.cgi?id=112022
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3371]: https://gitlab.freedesktop.org/drm/intel/issues/3371
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3614]: https://gitlab.freedesktop.org/drm/intel/issues/3614
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3736]: https://gitlab.freedesktop.org/drm/intel/issues/3736
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4016]: https://gitlab.freedesktop.org/drm/intel/issues/4016
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4278]: https://gitlab.freedesktop.org/drm/intel/issues/4278
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4521]: https://gitlab.freedesktop.org/drm/intel/issues/4521
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4842]: https://gitlab.freedesktop.org/drm/intel/issues/4842
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853
  [i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4883]: https://gitlab.freedesktop.org/drm/intel/issues/4883
  [i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893
  [i915#4911]: https://gitlab.freedesktop.org/drm/intel/issues/4911
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
  [i915#5032]: https://gitlab.freedesktop.org/drm/intel/issues/5032
  [i915#5115]: https://gitlab.freedesktop.org/drm/intel/issues/5115
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5266]: https://gitlab.freedesktop.org/drm/intel/issues/5266
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5614]: https://gitlab.freedesktop.org/drm/intel/issues/5614
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
  [i915#6076]: https://gitlab.freedesktop.org/drm/intel/issues/6076
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Build changes
-------------

  * Linux: CI_DRM_11705 -> Patchwork_104444v1

  CI-20190529: 20190529
  CI_DRM_11705: 18a2e6dbca526f996da04741cf5ef169e810a50e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6495: 7e2033da45f024a0348e6034fcb7f70a91b80ee9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_104444v1: 18a2e6dbca526f996da04741cf5ef169e810a50e @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104444v1/index.html

[-- Attachment #2: Type: text/html, Size: 92860 bytes --]

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

* Re: [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-05-27  7:24 [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar Tvrtko Ursulin
                   ` (2 preceding siblings ...)
  2022-05-27 11:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2022-05-27 12:07 ` Andrzej Hajda
  2022-06-07  8:36   ` Tvrtko Ursulin
  3 siblings, 1 reply; 7+ messages in thread
From: Andrzej Hajda @ 2022-05-27 12:07 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx; +Cc: dri-devel

On 27.05.2022 09:24, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> We have long standing customer complaints that pressing Ctrl-C (or to the
> effect of) causes engine resets with otherwise well behaving programs.
> 
> Not only is logging engine resets during normal operation not desirable
> since it creates support incidents, but more fundamentally we should avoid
> going the engine reset path when we can since any engine reset introduces
> a chance of harming an innocent context.
> 
> Reason for this undesirable behaviour is that the driver currently does
> not distinguish between banned contexts and non-persistent contexts which
> have been closed.
> 
> To fix this we add the distinction between the two reasons for revoking
> contexts, which then allows the strict timeout only be applied to banned,
> while innocent contexts (well behaving) can preempt cleanly and exit
> without triggering the engine reset path.
> 
> Note that the added context exiting category applies both to closed non-
> persistent context, and any exiting context when hangcheck has been
> disabled by the user.
> 
> At the same time we rename the backend operation from 'ban' to 'revoke'
> which more accurately describes the actual semantics. (There is no ban at
> the backend level since banning is a concept driven by the scheduling
> frontend. Backends are simply able to revoke a running context so that
> is the more appropriate name chosen.)
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_context.c   | 23 +++++++++++------
>   drivers/gpu/drm/i915/gt/intel_context.c       | 24 ++++++++++++++++++
>   drivers/gpu/drm/i915/gt/intel_context.h       | 25 +++++++++++++------
>   drivers/gpu/drm/i915/gt/intel_context_types.h |  4 ++-
>   .../drm/i915/gt/intel_execlists_submission.c  |  6 ++---
>   .../gpu/drm/i915/gt/intel_ring_submission.c   |  7 +++---
>   .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 ++++++-----
>   drivers/gpu/drm/i915/i915_request.c           |  2 +-
>   8 files changed, 77 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index ab4c5ab28e4d..6b171c89b1b3 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -1367,7 +1367,8 @@ static struct intel_engine_cs *active_engine(struct intel_context *ce)
>   	return engine;
>   }
>   
> -static void kill_engines(struct i915_gem_engines *engines, bool ban)
> +static void
> +kill_engines(struct i915_gem_engines *engines, bool exit, bool persistent)
>   {
>   	struct i915_gem_engines_iter it;
>   	struct intel_context *ce;
> @@ -1381,9 +1382,15 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
>   	 */
>   	for_each_gem_engine(ce, engines, it) {
>   		struct intel_engine_cs *engine;
> +		bool skip = false;
>   
> -		if (ban && intel_context_ban(ce, NULL))
> -			continue;
> +		if (exit)
> +			skip = intel_context_set_exiting(ce);
> +		else if (!persistent)
> +			skip = intel_context_exit_nonpersistent(ce, NULL);
> +
> +		if (skip)
> +			continue; /* Already marked. */

why not:
	if (exit && intel_context_set_exiting(ce))
		continue;
	else if (!persistent && intel_context_exit_nonpersistent(ce, NULL)
		continue;

Anyway:
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>

Regards
Andrzej

>   
>   		/*
>   		 * Check the current active state of this context; if we
> @@ -1395,7 +1402,7 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
>   		engine = active_engine(ce);
>   
>   		/* First attempt to gracefully cancel the context */
> -		if (engine && !__cancel_engine(engine) && ban)
> +		if (engine && !__cancel_engine(engine) && (exit || !persistent))
>   			/*
>   			 * If we are unable to send a preemptive pulse to bump
>   			 * the context from the GPU, we have to resort to a full
> @@ -1407,8 +1414,6 @@ static void kill_engines(struct i915_gem_engines *engines, bool ban)
>   
>   static void kill_context(struct i915_gem_context *ctx)
>   {
> -	bool ban = (!i915_gem_context_is_persistent(ctx) ||
> -		    !ctx->i915->params.enable_hangcheck);
>   	struct i915_gem_engines *pos, *next;
>   
>   	spin_lock_irq(&ctx->stale.lock);
> @@ -1421,7 +1426,8 @@ static void kill_context(struct i915_gem_context *ctx)
>   
>   		spin_unlock_irq(&ctx->stale.lock);
>   
> -		kill_engines(pos, ban);
> +		kill_engines(pos, !ctx->i915->params.enable_hangcheck,
> +			     i915_gem_context_is_persistent(ctx));
>   
>   		spin_lock_irq(&ctx->stale.lock);
>   		GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
> @@ -1467,7 +1473,8 @@ static void engines_idle_release(struct i915_gem_context *ctx,
>   
>   kill:
>   	if (list_empty(&engines->link)) /* raced, already closed */
> -		kill_engines(engines, true);
> +		kill_engines(engines, true,
> +			     i915_gem_context_is_persistent(ctx));
>   
>   	i915_sw_fence_commit(&engines->fence);
>   }
> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
> index 4070cb5711d8..654a092ed3d6 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context.c
> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> @@ -601,6 +601,30 @@ u64 intel_context_get_avg_runtime_ns(struct intel_context *ce)
>   	return avg;
>   }
>   
> +bool intel_context_ban(struct intel_context *ce, struct i915_request *rq)
> +{
> +	bool ret = intel_context_set_banned(ce);
> +
> +	trace_intel_context_ban(ce);
> +
> +	if (ce->ops->revoke)
> +		ce->ops->revoke(ce, rq,
> +				INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS);
> +
> +	return ret;
> +}
> +
> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
> +				      struct i915_request *rq)
> +{
> +	bool ret = intel_context_set_exiting(ce);
> +
> +	if (ce->ops->revoke)
> +		ce->ops->revoke(ce, rq, ce->engine->props.preempt_timeout_ms);
> +
> +	return ret;
> +}
> +
>   #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
>   #include "selftest_context.c"
>   #endif
> diff --git a/drivers/gpu/drm/i915/gt/intel_context.h b/drivers/gpu/drm/i915/gt/intel_context.h
> index b7d3214d2cdd..8e2d70630c49 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context.h
> +++ b/drivers/gpu/drm/i915/gt/intel_context.h
> @@ -25,6 +25,8 @@
>   		     ##__VA_ARGS__);					\
>   } while (0)
>   
> +#define INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS (1)
> +
>   struct i915_gem_ww_ctx;
>   
>   void intel_context_init(struct intel_context *ce,
> @@ -309,18 +311,27 @@ static inline bool intel_context_set_banned(struct intel_context *ce)
>   	return test_and_set_bit(CONTEXT_BANNED, &ce->flags);
>   }
>   
> -static inline bool intel_context_ban(struct intel_context *ce,
> -				     struct i915_request *rq)
> +bool intel_context_ban(struct intel_context *ce, struct i915_request *rq);
> +
> +static inline bool intel_context_is_schedulable(const struct intel_context *ce)
>   {
> -	bool ret = intel_context_set_banned(ce);
> +	return !test_bit(CONTEXT_EXITING, &ce->flags) &&
> +	       !test_bit(CONTEXT_BANNED, &ce->flags);
> +}
>   
> -	trace_intel_context_ban(ce);
> -	if (ce->ops->ban)
> -		ce->ops->ban(ce, rq);
> +static inline bool intel_context_is_exiting(const struct intel_context *ce)
> +{
> +	return test_bit(CONTEXT_EXITING, &ce->flags);
> +}
>   
> -	return ret;
> +static inline bool intel_context_set_exiting(struct intel_context *ce)
> +{
> +	return test_and_set_bit(CONTEXT_EXITING, &ce->flags);
>   }
>   
> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
> +				      struct i915_request *rq);
> +
>   static inline bool
>   intel_context_force_single_submission(const struct intel_context *ce)
>   {
> diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h
> index 09f82545789f..d2d75d9c0c8d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context_types.h
> +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h
> @@ -40,7 +40,8 @@ struct intel_context_ops {
>   
>   	int (*alloc)(struct intel_context *ce);
>   
> -	void (*ban)(struct intel_context *ce, struct i915_request *rq);
> +	void (*revoke)(struct intel_context *ce, struct i915_request *rq,
> +		       unsigned int preempt_timeout_ms);
>   
>   	int (*pre_pin)(struct intel_context *ce, struct i915_gem_ww_ctx *ww, void **vaddr);
>   	int (*pin)(struct intel_context *ce, void *vaddr);
> @@ -122,6 +123,7 @@ struct intel_context {
>   #define CONTEXT_GUC_INIT		10
>   #define CONTEXT_PERMA_PIN		11
>   #define CONTEXT_IS_PARKING		12
> +#define CONTEXT_EXITING			13
>   
>   	struct {
>   		u64 timeout_us;
> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> index a4510b5c0c3d..ad72e2c5c4e7 100644
> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> @@ -480,9 +480,9 @@ __execlists_schedule_in(struct i915_request *rq)
>   
>   	if (unlikely(intel_context_is_closed(ce) &&
>   		     !intel_engine_has_heartbeat(engine)))
> -		intel_context_set_banned(ce);
> +		intel_context_set_exiting(ce);
>   
> -	if (unlikely(intel_context_is_banned(ce) || bad_request(rq)))
> +	if (unlikely(!intel_context_is_schedulable(ce) || bad_request(rq)))
>   		reset_active(rq, engine);
>   
>   	if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
> @@ -1243,7 +1243,7 @@ static unsigned long active_preempt_timeout(struct intel_engine_cs *engine,
>   
>   	/* Force a fast reset for terminated contexts (ignoring sysfs!) */
>   	if (unlikely(intel_context_is_banned(rq->context) || bad_request(rq)))
> -		return 1;
> +		return INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS;
>   
>   	return READ_ONCE(engine->props.preempt_timeout_ms);
>   }
> diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> index f8f279a195c0..d5d6f1fadcae 100644
> --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> @@ -598,8 +598,9 @@ static void ring_context_reset(struct intel_context *ce)
>   	clear_bit(CONTEXT_VALID_BIT, &ce->flags);
>   }
>   
> -static void ring_context_ban(struct intel_context *ce,
> -			     struct i915_request *rq)
> +static void ring_context_revoke(struct intel_context *ce,
> +				struct i915_request *rq,
> +				unsigned int preempt_timeout_ms)
>   {
>   	struct intel_engine_cs *engine;
>   
> @@ -634,7 +635,7 @@ static const struct intel_context_ops ring_context_ops = {
>   
>   	.cancel_request = ring_context_cancel_request,
>   
> -	.ban = ring_context_ban,
> +	.revoke = ring_context_revoke,
>   
>   	.pre_pin = ring_context_pre_pin,
>   	.pin = ring_context_pin,
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> index 5a1dfacf24ea..e62ea35513ea 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> @@ -2790,7 +2790,9 @@ static void __guc_context_set_preemption_timeout(struct intel_guc *guc,
>   	__guc_context_set_context_policies(guc, &policy, true);
>   }
>   
> -static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
> +static void
> +guc_context_revoke(struct intel_context *ce, struct i915_request *rq,
> +		   unsigned int preempt_timeout_ms)
>   {
>   	struct intel_guc *guc = ce_to_guc(ce);
>   	struct intel_runtime_pm *runtime_pm =
> @@ -2829,7 +2831,8 @@ static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
>   		 * gets kicked off the HW ASAP.
>   		 */
>   		with_intel_runtime_pm(runtime_pm, wakeref) {
> -			__guc_context_set_preemption_timeout(guc, guc_id, 1);
> +			__guc_context_set_preemption_timeout(guc, guc_id,
> +							     preempt_timeout_ms);
>   			__guc_context_sched_disable(guc, ce, guc_id);
>   		}
>   	} else {
> @@ -2837,7 +2840,7 @@ static void guc_context_ban(struct intel_context *ce, struct i915_request *rq)
>   			with_intel_runtime_pm(runtime_pm, wakeref)
>   				__guc_context_set_preemption_timeout(guc,
>   								     ce->guc_id.id,
> -								     1);
> +								     preempt_timeout_ms);
>   		spin_unlock_irqrestore(&ce->guc_state.lock, flags);
>   	}
>   }
> @@ -3190,7 +3193,7 @@ static const struct intel_context_ops guc_context_ops = {
>   	.unpin = guc_context_unpin,
>   	.post_unpin = guc_context_post_unpin,
>   
> -	.ban = guc_context_ban,
> +	.revoke = guc_context_revoke,
>   
>   	.cancel_request = guc_context_cancel_request,
>   
> @@ -3439,7 +3442,7 @@ static const struct intel_context_ops virtual_guc_context_ops = {
>   	.unpin = guc_virtual_context_unpin,
>   	.post_unpin = guc_context_post_unpin,
>   
> -	.ban = guc_context_ban,
> +	.revoke = guc_context_revoke,
>   
>   	.cancel_request = guc_context_cancel_request,
>   
> @@ -3528,7 +3531,7 @@ static const struct intel_context_ops virtual_parent_context_ops = {
>   	.unpin = guc_parent_context_unpin,
>   	.post_unpin = guc_context_post_unpin,
>   
> -	.ban = guc_context_ban,
> +	.revoke = guc_context_revoke,
>   
>   	.cancel_request = guc_context_cancel_request,
>   
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index 73d5195146b0..c3937640b119 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -611,7 +611,7 @@ bool __i915_request_submit(struct i915_request *request)
>   		goto active;
>   	}
>   
> -	if (unlikely(intel_context_is_banned(request->context)))
> +	if (unlikely(!intel_context_is_schedulable(request->context)))
>   		i915_request_set_error_once(request, -EIO);
>   
>   	if (unlikely(fatal_error(request->fence.error)))


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

* Re: [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-05-27 12:07 ` [Intel-gfx] [PATCH] " Andrzej Hajda
@ 2022-06-07  8:36   ` Tvrtko Ursulin
  2022-06-14  7:55     ` Tvrtko Ursulin
  0 siblings, 1 reply; 7+ messages in thread
From: Tvrtko Ursulin @ 2022-06-07  8:36 UTC (permalink / raw)
  To: Andrzej Hajda, Intel-gfx; +Cc: dri-devel


On 27/05/2022 13:07, Andrzej Hajda wrote:
> On 27.05.2022 09:24, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> We have long standing customer complaints that pressing Ctrl-C (or to the
>> effect of) causes engine resets with otherwise well behaving programs.
>>
>> Not only is logging engine resets during normal operation not desirable
>> since it creates support incidents, but more fundamentally we should 
>> avoid
>> going the engine reset path when we can since any engine reset introduces
>> a chance of harming an innocent context.
>>
>> Reason for this undesirable behaviour is that the driver currently does
>> not distinguish between banned contexts and non-persistent contexts which
>> have been closed.
>>
>> To fix this we add the distinction between the two reasons for revoking
>> contexts, which then allows the strict timeout only be applied to banned,
>> while innocent contexts (well behaving) can preempt cleanly and exit
>> without triggering the engine reset path.
>>
>> Note that the added context exiting category applies both to closed non-
>> persistent context, and any exiting context when hangcheck has been
>> disabled by the user.
>>
>> At the same time we rename the backend operation from 'ban' to 'revoke'
>> which more accurately describes the actual semantics. (There is no ban at
>> the backend level since banning is a concept driven by the scheduling
>> frontend. Backends are simply able to revoke a running context so that
>> is the more appropriate name chosen.)
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> ---
>>   drivers/gpu/drm/i915/gem/i915_gem_context.c   | 23 +++++++++++------
>>   drivers/gpu/drm/i915/gt/intel_context.c       | 24 ++++++++++++++++++
>>   drivers/gpu/drm/i915/gt/intel_context.h       | 25 +++++++++++++------
>>   drivers/gpu/drm/i915/gt/intel_context_types.h |  4 ++-
>>   .../drm/i915/gt/intel_execlists_submission.c  |  6 ++---
>>   .../gpu/drm/i915/gt/intel_ring_submission.c   |  7 +++---
>>   .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 ++++++-----
>>   drivers/gpu/drm/i915/i915_request.c           |  2 +-
>>   8 files changed, 77 insertions(+), 29 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
>> b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> index ab4c5ab28e4d..6b171c89b1b3 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> @@ -1367,7 +1367,8 @@ static struct intel_engine_cs 
>> *active_engine(struct intel_context *ce)
>>       return engine;
>>   }
>> -static void kill_engines(struct i915_gem_engines *engines, bool ban)
>> +static void
>> +kill_engines(struct i915_gem_engines *engines, bool exit, bool 
>> persistent)
>>   {
>>       struct i915_gem_engines_iter it;
>>       struct intel_context *ce;
>> @@ -1381,9 +1382,15 @@ static void kill_engines(struct 
>> i915_gem_engines *engines, bool ban)
>>        */
>>       for_each_gem_engine(ce, engines, it) {
>>           struct intel_engine_cs *engine;
>> +        bool skip = false;
>> -        if (ban && intel_context_ban(ce, NULL))
>> -            continue;
>> +        if (exit)
>> +            skip = intel_context_set_exiting(ce);
>> +        else if (!persistent)
>> +            skip = intel_context_exit_nonpersistent(ce, NULL);
>> +
>> +        if (skip)
>> +            continue; /* Already marked. */
> 
> why not:
>      if (exit && intel_context_set_exiting(ce))
>          continue;
>      else if (!persistent && intel_context_exit_nonpersistent(ce, NULL)
>          continue;

Just so I can put the "already marked" comment on single line.

> 
> Anyway:
> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>

Thanks!

John, Daniel - you had reservations against the older version of this 
patch AFAIR. This time round I believe I conceptually simplified it by 
doing a clean separation of contexts which should not be scheduled any 
more becuase they want it so, versus the ones we banned. That is, the 
patch stops abusing the banned status for contexts which haven't been 
(banned). This allows to only apply the strict preempt timeout to 
banned, while there is no reason to add any new timeout values for the rest.

Any objections to this version?

Regards,

Tvrtko

> 
> Regards
> Andrzej
> 
>>           /*
>>            * Check the current active state of this context; if we
>> @@ -1395,7 +1402,7 @@ static void kill_engines(struct i915_gem_engines 
>> *engines, bool ban)
>>           engine = active_engine(ce);
>>           /* First attempt to gracefully cancel the context */
>> -        if (engine && !__cancel_engine(engine) && ban)
>> +        if (engine && !__cancel_engine(engine) && (exit || !persistent))
>>               /*
>>                * If we are unable to send a preemptive pulse to bump
>>                * the context from the GPU, we have to resort to a full
>> @@ -1407,8 +1414,6 @@ static void kill_engines(struct i915_gem_engines 
>> *engines, bool ban)
>>   static void kill_context(struct i915_gem_context *ctx)
>>   {
>> -    bool ban = (!i915_gem_context_is_persistent(ctx) ||
>> -            !ctx->i915->params.enable_hangcheck);
>>       struct i915_gem_engines *pos, *next;
>>       spin_lock_irq(&ctx->stale.lock);
>> @@ -1421,7 +1426,8 @@ static void kill_context(struct i915_gem_context 
>> *ctx)
>>           spin_unlock_irq(&ctx->stale.lock);
>> -        kill_engines(pos, ban);
>> +        kill_engines(pos, !ctx->i915->params.enable_hangcheck,
>> +                 i915_gem_context_is_persistent(ctx));
>>           spin_lock_irq(&ctx->stale.lock);
>>           GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
>> @@ -1467,7 +1473,8 @@ static void engines_idle_release(struct 
>> i915_gem_context *ctx,
>>   kill:
>>       if (list_empty(&engines->link)) /* raced, already closed */
>> -        kill_engines(engines, true);
>> +        kill_engines(engines, true,
>> +                 i915_gem_context_is_persistent(ctx));
>>       i915_sw_fence_commit(&engines->fence);
>>   }
>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c 
>> b/drivers/gpu/drm/i915/gt/intel_context.c
>> index 4070cb5711d8..654a092ed3d6 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_context.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
>> @@ -601,6 +601,30 @@ u64 intel_context_get_avg_runtime_ns(struct 
>> intel_context *ce)
>>       return avg;
>>   }
>> +bool intel_context_ban(struct intel_context *ce, struct i915_request 
>> *rq)
>> +{
>> +    bool ret = intel_context_set_banned(ce);
>> +
>> +    trace_intel_context_ban(ce);
>> +
>> +    if (ce->ops->revoke)
>> +        ce->ops->revoke(ce, rq,
>> +                INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS);
>> +
>> +    return ret;
>> +}
>> +
>> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
>> +                      struct i915_request *rq)
>> +{
>> +    bool ret = intel_context_set_exiting(ce);
>> +
>> +    if (ce->ops->revoke)
>> +        ce->ops->revoke(ce, rq, ce->engine->props.preempt_timeout_ms);
>> +
>> +    return ret;
>> +}
>> +
>>   #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
>>   #include "selftest_context.c"
>>   #endif
>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.h 
>> b/drivers/gpu/drm/i915/gt/intel_context.h
>> index b7d3214d2cdd..8e2d70630c49 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_context.h
>> +++ b/drivers/gpu/drm/i915/gt/intel_context.h
>> @@ -25,6 +25,8 @@
>>                ##__VA_ARGS__);                    \
>>   } while (0)
>> +#define INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS (1)
>> +
>>   struct i915_gem_ww_ctx;
>>   void intel_context_init(struct intel_context *ce,
>> @@ -309,18 +311,27 @@ static inline bool 
>> intel_context_set_banned(struct intel_context *ce)
>>       return test_and_set_bit(CONTEXT_BANNED, &ce->flags);
>>   }
>> -static inline bool intel_context_ban(struct intel_context *ce,
>> -                     struct i915_request *rq)
>> +bool intel_context_ban(struct intel_context *ce, struct i915_request 
>> *rq);
>> +
>> +static inline bool intel_context_is_schedulable(const struct 
>> intel_context *ce)
>>   {
>> -    bool ret = intel_context_set_banned(ce);
>> +    return !test_bit(CONTEXT_EXITING, &ce->flags) &&
>> +           !test_bit(CONTEXT_BANNED, &ce->flags);
>> +}
>> -    trace_intel_context_ban(ce);
>> -    if (ce->ops->ban)
>> -        ce->ops->ban(ce, rq);
>> +static inline bool intel_context_is_exiting(const struct 
>> intel_context *ce)
>> +{
>> +    return test_bit(CONTEXT_EXITING, &ce->flags);
>> +}
>> -    return ret;
>> +static inline bool intel_context_set_exiting(struct intel_context *ce)
>> +{
>> +    return test_and_set_bit(CONTEXT_EXITING, &ce->flags);
>>   }
>> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
>> +                      struct i915_request *rq);
>> +
>>   static inline bool
>>   intel_context_force_single_submission(const struct intel_context *ce)
>>   {
>> diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h 
>> b/drivers/gpu/drm/i915/gt/intel_context_types.h
>> index 09f82545789f..d2d75d9c0c8d 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_context_types.h
>> +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h
>> @@ -40,7 +40,8 @@ struct intel_context_ops {
>>       int (*alloc)(struct intel_context *ce);
>> -    void (*ban)(struct intel_context *ce, struct i915_request *rq);
>> +    void (*revoke)(struct intel_context *ce, struct i915_request *rq,
>> +               unsigned int preempt_timeout_ms);
>>       int (*pre_pin)(struct intel_context *ce, struct i915_gem_ww_ctx 
>> *ww, void **vaddr);
>>       int (*pin)(struct intel_context *ce, void *vaddr);
>> @@ -122,6 +123,7 @@ struct intel_context {
>>   #define CONTEXT_GUC_INIT        10
>>   #define CONTEXT_PERMA_PIN        11
>>   #define CONTEXT_IS_PARKING        12
>> +#define CONTEXT_EXITING            13
>>       struct {
>>           u64 timeout_us;
>> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c 
>> b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>> index a4510b5c0c3d..ad72e2c5c4e7 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>> @@ -480,9 +480,9 @@ __execlists_schedule_in(struct i915_request *rq)
>>       if (unlikely(intel_context_is_closed(ce) &&
>>                !intel_engine_has_heartbeat(engine)))
>> -        intel_context_set_banned(ce);
>> +        intel_context_set_exiting(ce);
>> -    if (unlikely(intel_context_is_banned(ce) || bad_request(rq)))
>> +    if (unlikely(!intel_context_is_schedulable(ce) || bad_request(rq)))
>>           reset_active(rq, engine);
>>       if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
>> @@ -1243,7 +1243,7 @@ static unsigned long 
>> active_preempt_timeout(struct intel_engine_cs *engine,
>>       /* Force a fast reset for terminated contexts (ignoring sysfs!) */
>>       if (unlikely(intel_context_is_banned(rq->context) || 
>> bad_request(rq)))
>> -        return 1;
>> +        return INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS;
>>       return READ_ONCE(engine->props.preempt_timeout_ms);
>>   }
>> diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c 
>> b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>> index f8f279a195c0..d5d6f1fadcae 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>> @@ -598,8 +598,9 @@ static void ring_context_reset(struct 
>> intel_context *ce)
>>       clear_bit(CONTEXT_VALID_BIT, &ce->flags);
>>   }
>> -static void ring_context_ban(struct intel_context *ce,
>> -                 struct i915_request *rq)
>> +static void ring_context_revoke(struct intel_context *ce,
>> +                struct i915_request *rq,
>> +                unsigned int preempt_timeout_ms)
>>   {
>>       struct intel_engine_cs *engine;
>> @@ -634,7 +635,7 @@ static const struct intel_context_ops 
>> ring_context_ops = {
>>       .cancel_request = ring_context_cancel_request,
>> -    .ban = ring_context_ban,
>> +    .revoke = ring_context_revoke,
>>       .pre_pin = ring_context_pre_pin,
>>       .pin = ring_context_pin,
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
>> b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> index 5a1dfacf24ea..e62ea35513ea 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> @@ -2790,7 +2790,9 @@ static void 
>> __guc_context_set_preemption_timeout(struct intel_guc *guc,
>>       __guc_context_set_context_policies(guc, &policy, true);
>>   }
>> -static void guc_context_ban(struct intel_context *ce, struct 
>> i915_request *rq)
>> +static void
>> +guc_context_revoke(struct intel_context *ce, struct i915_request *rq,
>> +           unsigned int preempt_timeout_ms)
>>   {
>>       struct intel_guc *guc = ce_to_guc(ce);
>>       struct intel_runtime_pm *runtime_pm =
>> @@ -2829,7 +2831,8 @@ static void guc_context_ban(struct intel_context 
>> *ce, struct i915_request *rq)
>>            * gets kicked off the HW ASAP.
>>            */
>>           with_intel_runtime_pm(runtime_pm, wakeref) {
>> -            __guc_context_set_preemption_timeout(guc, guc_id, 1);
>> +            __guc_context_set_preemption_timeout(guc, guc_id,
>> +                                 preempt_timeout_ms);
>>               __guc_context_sched_disable(guc, ce, guc_id);
>>           }
>>       } else {
>> @@ -2837,7 +2840,7 @@ static void guc_context_ban(struct intel_context 
>> *ce, struct i915_request *rq)
>>               with_intel_runtime_pm(runtime_pm, wakeref)
>>                   __guc_context_set_preemption_timeout(guc,
>>                                        ce->guc_id.id,
>> -                                     1);
>> +                                     preempt_timeout_ms);
>>           spin_unlock_irqrestore(&ce->guc_state.lock, flags);
>>       }
>>   }
>> @@ -3190,7 +3193,7 @@ static const struct intel_context_ops 
>> guc_context_ops = {
>>       .unpin = guc_context_unpin,
>>       .post_unpin = guc_context_post_unpin,
>> -    .ban = guc_context_ban,
>> +    .revoke = guc_context_revoke,
>>       .cancel_request = guc_context_cancel_request,
>> @@ -3439,7 +3442,7 @@ static const struct intel_context_ops 
>> virtual_guc_context_ops = {
>>       .unpin = guc_virtual_context_unpin,
>>       .post_unpin = guc_context_post_unpin,
>> -    .ban = guc_context_ban,
>> +    .revoke = guc_context_revoke,
>>       .cancel_request = guc_context_cancel_request,
>> @@ -3528,7 +3531,7 @@ static const struct intel_context_ops 
>> virtual_parent_context_ops = {
>>       .unpin = guc_parent_context_unpin,
>>       .post_unpin = guc_context_post_unpin,
>> -    .ban = guc_context_ban,
>> +    .revoke = guc_context_revoke,
>>       .cancel_request = guc_context_cancel_request,
>> diff --git a/drivers/gpu/drm/i915/i915_request.c 
>> b/drivers/gpu/drm/i915/i915_request.c
>> index 73d5195146b0..c3937640b119 100644
>> --- a/drivers/gpu/drm/i915/i915_request.c
>> +++ b/drivers/gpu/drm/i915/i915_request.c
>> @@ -611,7 +611,7 @@ bool __i915_request_submit(struct i915_request 
>> *request)
>>           goto active;
>>       }
>> -    if (unlikely(intel_context_is_banned(request->context)))
>> +    if (unlikely(!intel_context_is_schedulable(request->context)))
>>           i915_request_set_error_once(request, -EIO);
>>       if (unlikely(fatal_error(request->fence.error)))
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar
  2022-06-07  8:36   ` Tvrtko Ursulin
@ 2022-06-14  7:55     ` Tvrtko Ursulin
  0 siblings, 0 replies; 7+ messages in thread
From: Tvrtko Ursulin @ 2022-06-14  7:55 UTC (permalink / raw)
  To: Andrzej Hajda, Intel-gfx; +Cc: dri-devel


Final call to raise objections.

Regards,

Tvrtko

On 07/06/2022 09:36, Tvrtko Ursulin wrote:
> 
> On 27/05/2022 13:07, Andrzej Hajda wrote:
>> On 27.05.2022 09:24, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>> We have long standing customer complaints that pressing Ctrl-C (or to 
>>> the
>>> effect of) causes engine resets with otherwise well behaving programs.
>>>
>>> Not only is logging engine resets during normal operation not desirable
>>> since it creates support incidents, but more fundamentally we should 
>>> avoid
>>> going the engine reset path when we can since any engine reset 
>>> introduces
>>> a chance of harming an innocent context.
>>>
>>> Reason for this undesirable behaviour is that the driver currently does
>>> not distinguish between banned contexts and non-persistent contexts 
>>> which
>>> have been closed.
>>>
>>> To fix this we add the distinction between the two reasons for revoking
>>> contexts, which then allows the strict timeout only be applied to 
>>> banned,
>>> while innocent contexts (well behaving) can preempt cleanly and exit
>>> without triggering the engine reset path.
>>>
>>> Note that the added context exiting category applies both to closed non-
>>> persistent context, and any exiting context when hangcheck has been
>>> disabled by the user.
>>>
>>> At the same time we rename the backend operation from 'ban' to 'revoke'
>>> which more accurately describes the actual semantics. (There is no 
>>> ban at
>>> the backend level since banning is a concept driven by the scheduling
>>> frontend. Backends are simply able to revoke a running context so that
>>> is the more appropriate name chosen.)
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/gem/i915_gem_context.c   | 23 +++++++++++------
>>>   drivers/gpu/drm/i915/gt/intel_context.c       | 24 ++++++++++++++++++
>>>   drivers/gpu/drm/i915/gt/intel_context.h       | 25 +++++++++++++------
>>>   drivers/gpu/drm/i915/gt/intel_context_types.h |  4 ++-
>>>   .../drm/i915/gt/intel_execlists_submission.c  |  6 ++---
>>>   .../gpu/drm/i915/gt/intel_ring_submission.c   |  7 +++---
>>>   .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 ++++++-----
>>>   drivers/gpu/drm/i915/i915_request.c           |  2 +-
>>>   8 files changed, 77 insertions(+), 29 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
>>> b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>>> index ab4c5ab28e4d..6b171c89b1b3 100644
>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>>> @@ -1367,7 +1367,8 @@ static struct intel_engine_cs 
>>> *active_engine(struct intel_context *ce)
>>>       return engine;
>>>   }
>>> -static void kill_engines(struct i915_gem_engines *engines, bool ban)
>>> +static void
>>> +kill_engines(struct i915_gem_engines *engines, bool exit, bool 
>>> persistent)
>>>   {
>>>       struct i915_gem_engines_iter it;
>>>       struct intel_context *ce;
>>> @@ -1381,9 +1382,15 @@ static void kill_engines(struct 
>>> i915_gem_engines *engines, bool ban)
>>>        */
>>>       for_each_gem_engine(ce, engines, it) {
>>>           struct intel_engine_cs *engine;
>>> +        bool skip = false;
>>> -        if (ban && intel_context_ban(ce, NULL))
>>> -            continue;
>>> +        if (exit)
>>> +            skip = intel_context_set_exiting(ce);
>>> +        else if (!persistent)
>>> +            skip = intel_context_exit_nonpersistent(ce, NULL);
>>> +
>>> +        if (skip)
>>> +            continue; /* Already marked. */
>>
>> why not:
>>      if (exit && intel_context_set_exiting(ce))
>>          continue;
>>      else if (!persistent && intel_context_exit_nonpersistent(ce, NULL)
>>          continue;
> 
> Just so I can put the "already marked" comment on single line.
> 
>>
>> Anyway:
>> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
> 
> Thanks!
> 
> John, Daniel - you had reservations against the older version of this 
> patch AFAIR. This time round I believe I conceptually simplified it by 
> doing a clean separation of contexts which should not be scheduled any 
> more becuase they want it so, versus the ones we banned. That is, the 
> patch stops abusing the banned status for contexts which haven't been 
> (banned). This allows to only apply the strict preempt timeout to 
> banned, while there is no reason to add any new timeout values for the 
> rest.
> 
> Any objections to this version?
> 
> Regards,
> 
> Tvrtko
> 
>>
>> Regards
>> Andrzej
>>
>>>           /*
>>>            * Check the current active state of this context; if we
>>> @@ -1395,7 +1402,7 @@ static void kill_engines(struct 
>>> i915_gem_engines *engines, bool ban)
>>>           engine = active_engine(ce);
>>>           /* First attempt to gracefully cancel the context */
>>> -        if (engine && !__cancel_engine(engine) && ban)
>>> +        if (engine && !__cancel_engine(engine) && (exit || 
>>> !persistent))
>>>               /*
>>>                * If we are unable to send a preemptive pulse to bump
>>>                * the context from the GPU, we have to resort to a full
>>> @@ -1407,8 +1414,6 @@ static void kill_engines(struct 
>>> i915_gem_engines *engines, bool ban)
>>>   static void kill_context(struct i915_gem_context *ctx)
>>>   {
>>> -    bool ban = (!i915_gem_context_is_persistent(ctx) ||
>>> -            !ctx->i915->params.enable_hangcheck);
>>>       struct i915_gem_engines *pos, *next;
>>>       spin_lock_irq(&ctx->stale.lock);
>>> @@ -1421,7 +1426,8 @@ static void kill_context(struct 
>>> i915_gem_context *ctx)
>>>           spin_unlock_irq(&ctx->stale.lock);
>>> -        kill_engines(pos, ban);
>>> +        kill_engines(pos, !ctx->i915->params.enable_hangcheck,
>>> +                 i915_gem_context_is_persistent(ctx));
>>>           spin_lock_irq(&ctx->stale.lock);
>>>           GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
>>> @@ -1467,7 +1473,8 @@ static void engines_idle_release(struct 
>>> i915_gem_context *ctx,
>>>   kill:
>>>       if (list_empty(&engines->link)) /* raced, already closed */
>>> -        kill_engines(engines, true);
>>> +        kill_engines(engines, true,
>>> +                 i915_gem_context_is_persistent(ctx));
>>>       i915_sw_fence_commit(&engines->fence);
>>>   }
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c 
>>> b/drivers/gpu/drm/i915/gt/intel_context.c
>>> index 4070cb5711d8..654a092ed3d6 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_context.c
>>> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
>>> @@ -601,6 +601,30 @@ u64 intel_context_get_avg_runtime_ns(struct 
>>> intel_context *ce)
>>>       return avg;
>>>   }
>>> +bool intel_context_ban(struct intel_context *ce, struct i915_request 
>>> *rq)
>>> +{
>>> +    bool ret = intel_context_set_banned(ce);
>>> +
>>> +    trace_intel_context_ban(ce);
>>> +
>>> +    if (ce->ops->revoke)
>>> +        ce->ops->revoke(ce, rq,
>>> +                INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS);
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
>>> +                      struct i915_request *rq)
>>> +{
>>> +    bool ret = intel_context_set_exiting(ce);
>>> +
>>> +    if (ce->ops->revoke)
>>> +        ce->ops->revoke(ce, rq, ce->engine->props.preempt_timeout_ms);
>>> +
>>> +    return ret;
>>> +}
>>> +
>>>   #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
>>>   #include "selftest_context.c"
>>>   #endif
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.h 
>>> b/drivers/gpu/drm/i915/gt/intel_context.h
>>> index b7d3214d2cdd..8e2d70630c49 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_context.h
>>> +++ b/drivers/gpu/drm/i915/gt/intel_context.h
>>> @@ -25,6 +25,8 @@
>>>                ##__VA_ARGS__);                    \
>>>   } while (0)
>>> +#define INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS (1)
>>> +
>>>   struct i915_gem_ww_ctx;
>>>   void intel_context_init(struct intel_context *ce,
>>> @@ -309,18 +311,27 @@ static inline bool 
>>> intel_context_set_banned(struct intel_context *ce)
>>>       return test_and_set_bit(CONTEXT_BANNED, &ce->flags);
>>>   }
>>> -static inline bool intel_context_ban(struct intel_context *ce,
>>> -                     struct i915_request *rq)
>>> +bool intel_context_ban(struct intel_context *ce, struct i915_request 
>>> *rq);
>>> +
>>> +static inline bool intel_context_is_schedulable(const struct 
>>> intel_context *ce)
>>>   {
>>> -    bool ret = intel_context_set_banned(ce);
>>> +    return !test_bit(CONTEXT_EXITING, &ce->flags) &&
>>> +           !test_bit(CONTEXT_BANNED, &ce->flags);
>>> +}
>>> -    trace_intel_context_ban(ce);
>>> -    if (ce->ops->ban)
>>> -        ce->ops->ban(ce, rq);
>>> +static inline bool intel_context_is_exiting(const struct 
>>> intel_context *ce)
>>> +{
>>> +    return test_bit(CONTEXT_EXITING, &ce->flags);
>>> +}
>>> -    return ret;
>>> +static inline bool intel_context_set_exiting(struct intel_context *ce)
>>> +{
>>> +    return test_and_set_bit(CONTEXT_EXITING, &ce->flags);
>>>   }
>>> +bool intel_context_exit_nonpersistent(struct intel_context *ce,
>>> +                      struct i915_request *rq);
>>> +
>>>   static inline bool
>>>   intel_context_force_single_submission(const struct intel_context *ce)
>>>   {
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h 
>>> b/drivers/gpu/drm/i915/gt/intel_context_types.h
>>> index 09f82545789f..d2d75d9c0c8d 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_context_types.h
>>> +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h
>>> @@ -40,7 +40,8 @@ struct intel_context_ops {
>>>       int (*alloc)(struct intel_context *ce);
>>> -    void (*ban)(struct intel_context *ce, struct i915_request *rq);
>>> +    void (*revoke)(struct intel_context *ce, struct i915_request *rq,
>>> +               unsigned int preempt_timeout_ms);
>>>       int (*pre_pin)(struct intel_context *ce, struct i915_gem_ww_ctx 
>>> *ww, void **vaddr);
>>>       int (*pin)(struct intel_context *ce, void *vaddr);
>>> @@ -122,6 +123,7 @@ struct intel_context {
>>>   #define CONTEXT_GUC_INIT        10
>>>   #define CONTEXT_PERMA_PIN        11
>>>   #define CONTEXT_IS_PARKING        12
>>> +#define CONTEXT_EXITING            13
>>>       struct {
>>>           u64 timeout_us;
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c 
>>> b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>>> index a4510b5c0c3d..ad72e2c5c4e7 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>>> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
>>> @@ -480,9 +480,9 @@ __execlists_schedule_in(struct i915_request *rq)
>>>       if (unlikely(intel_context_is_closed(ce) &&
>>>                !intel_engine_has_heartbeat(engine)))
>>> -        intel_context_set_banned(ce);
>>> +        intel_context_set_exiting(ce);
>>> -    if (unlikely(intel_context_is_banned(ce) || bad_request(rq)))
>>> +    if (unlikely(!intel_context_is_schedulable(ce) || bad_request(rq)))
>>>           reset_active(rq, engine);
>>>       if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
>>> @@ -1243,7 +1243,7 @@ static unsigned long 
>>> active_preempt_timeout(struct intel_engine_cs *engine,
>>>       /* Force a fast reset for terminated contexts (ignoring sysfs!) */
>>>       if (unlikely(intel_context_is_banned(rq->context) || 
>>> bad_request(rq)))
>>> -        return 1;
>>> +        return INTEL_CONTEXT_BANNED_PREEMPT_TIMEOUT_MS;
>>>       return READ_ONCE(engine->props.preempt_timeout_ms);
>>>   }
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c 
>>> b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>>> index f8f279a195c0..d5d6f1fadcae 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>>> +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
>>> @@ -598,8 +598,9 @@ static void ring_context_reset(struct 
>>> intel_context *ce)
>>>       clear_bit(CONTEXT_VALID_BIT, &ce->flags);
>>>   }
>>> -static void ring_context_ban(struct intel_context *ce,
>>> -                 struct i915_request *rq)
>>> +static void ring_context_revoke(struct intel_context *ce,
>>> +                struct i915_request *rq,
>>> +                unsigned int preempt_timeout_ms)
>>>   {
>>>       struct intel_engine_cs *engine;
>>> @@ -634,7 +635,7 @@ static const struct intel_context_ops 
>>> ring_context_ops = {
>>>       .cancel_request = ring_context_cancel_request,
>>> -    .ban = ring_context_ban,
>>> +    .revoke = ring_context_revoke,
>>>       .pre_pin = ring_context_pre_pin,
>>>       .pin = ring_context_pin,
>>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
>>> b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>>> index 5a1dfacf24ea..e62ea35513ea 100644
>>> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>>> @@ -2790,7 +2790,9 @@ static void 
>>> __guc_context_set_preemption_timeout(struct intel_guc *guc,
>>>       __guc_context_set_context_policies(guc, &policy, true);
>>>   }
>>> -static void guc_context_ban(struct intel_context *ce, struct 
>>> i915_request *rq)
>>> +static void
>>> +guc_context_revoke(struct intel_context *ce, struct i915_request *rq,
>>> +           unsigned int preempt_timeout_ms)
>>>   {
>>>       struct intel_guc *guc = ce_to_guc(ce);
>>>       struct intel_runtime_pm *runtime_pm =
>>> @@ -2829,7 +2831,8 @@ static void guc_context_ban(struct 
>>> intel_context *ce, struct i915_request *rq)
>>>            * gets kicked off the HW ASAP.
>>>            */
>>>           with_intel_runtime_pm(runtime_pm, wakeref) {
>>> -            __guc_context_set_preemption_timeout(guc, guc_id, 1);
>>> +            __guc_context_set_preemption_timeout(guc, guc_id,
>>> +                                 preempt_timeout_ms);
>>>               __guc_context_sched_disable(guc, ce, guc_id);
>>>           }
>>>       } else {
>>> @@ -2837,7 +2840,7 @@ static void guc_context_ban(struct 
>>> intel_context *ce, struct i915_request *rq)
>>>               with_intel_runtime_pm(runtime_pm, wakeref)
>>>                   __guc_context_set_preemption_timeout(guc,
>>>                                        ce->guc_id.id,
>>> -                                     1);
>>> +                                     preempt_timeout_ms);
>>>           spin_unlock_irqrestore(&ce->guc_state.lock, flags);
>>>       }
>>>   }
>>> @@ -3190,7 +3193,7 @@ static const struct intel_context_ops 
>>> guc_context_ops = {
>>>       .unpin = guc_context_unpin,
>>>       .post_unpin = guc_context_post_unpin,
>>> -    .ban = guc_context_ban,
>>> +    .revoke = guc_context_revoke,
>>>       .cancel_request = guc_context_cancel_request,
>>> @@ -3439,7 +3442,7 @@ static const struct intel_context_ops 
>>> virtual_guc_context_ops = {
>>>       .unpin = guc_virtual_context_unpin,
>>>       .post_unpin = guc_context_post_unpin,
>>> -    .ban = guc_context_ban,
>>> +    .revoke = guc_context_revoke,
>>>       .cancel_request = guc_context_cancel_request,
>>> @@ -3528,7 +3531,7 @@ static const struct intel_context_ops 
>>> virtual_parent_context_ops = {
>>>       .unpin = guc_parent_context_unpin,
>>>       .post_unpin = guc_context_post_unpin,
>>> -    .ban = guc_context_ban,
>>> +    .revoke = guc_context_revoke,
>>>       .cancel_request = guc_context_cancel_request,
>>> diff --git a/drivers/gpu/drm/i915/i915_request.c 
>>> b/drivers/gpu/drm/i915/i915_request.c
>>> index 73d5195146b0..c3937640b119 100644
>>> --- a/drivers/gpu/drm/i915/i915_request.c
>>> +++ b/drivers/gpu/drm/i915/i915_request.c
>>> @@ -611,7 +611,7 @@ bool __i915_request_submit(struct i915_request 
>>> *request)
>>>           goto active;
>>>       }
>>> -    if (unlikely(intel_context_is_banned(request->context)))
>>> +    if (unlikely(!intel_context_is_schedulable(request->context)))
>>>           i915_request_set_error_once(request, -EIO);
>>>       if (unlikely(fatal_error(request->fence.error)))
>>

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

end of thread, other threads:[~2022-06-14  7:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-27  7:24 [Intel-gfx] [PATCH] drm/i915: Improve user experience and driver robustness under SIGINT or similar Tvrtko Ursulin
2022-05-27  7:44 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
2022-05-27  9:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-27 11:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2022-05-27 12:07 ` [Intel-gfx] [PATCH] " Andrzej Hajda
2022-06-07  8:36   ` Tvrtko Ursulin
2022-06-14  7:55     ` Tvrtko Ursulin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).