All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug
@ 2020-02-18 11:16 Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 2/6] drm/i915/execlists: Check the sentinel is alone in the ELSP Chris Wilson
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

As we have the total runtime known to us, show it when dumping the
engine state for debug.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index f6f5e1ec48fc..e46e55354e95 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1376,7 +1376,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 		execlists_active_lock_bh(execlists);
 		rcu_read_lock();
 		for (port = execlists->active; (rq = *port); port++) {
-			char hdr[80];
+			char hdr[160];
 			int len;
 
 			len = snprintf(hdr, sizeof(hdr),
@@ -1386,10 +1386,12 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 				struct intel_timeline *tl = get_timeline(rq);
 
 				len += snprintf(hdr + len, sizeof(hdr) - len,
-						"ring:{start:%08x, hwsp:%08x, seqno:%08x}, ",
+						"ring:{start:%08x, hwsp:%08x, seqno:%08x, runtime:%llums}, ",
 						i915_ggtt_offset(rq->ring->vma),
 						tl ? tl->hwsp_offset : 0,
-						hwsp_seqno(rq));
+						hwsp_seqno(rq),
+						DIV_ROUND_CLOSEST_ULL(intel_context_get_total_runtime_ns(rq->context),
+								      1000 * 1000));
 
 				if (tl)
 					intel_timeline_put(tl);
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 2/6] drm/i915/execlists: Check the sentinel is alone in the ELSP
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
@ 2020-02-18 11:16 ` Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Fix up missing error propagation for heartbeat pulses Chris Wilson
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

We only use sentinel requests for "preempt-to-idle" passes, so assert
that they are the only request in a new submission.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index ba31cbe8c68e..f2c49dc1e6b4 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1448,6 +1448,7 @@ assert_pending_valid(const struct intel_engine_execlists *execlists,
 {
 	struct i915_request * const *port, *rq;
 	struct intel_context *ce = NULL;
+	bool sentinel = false;
 
 	trace_ports(execlists, msg, execlists->pending);
 
@@ -1481,6 +1482,26 @@ assert_pending_valid(const struct intel_engine_execlists *execlists,
 		}
 		ce = rq->context;
 
+		/*
+		 * Sentinels are supposed to be lonely so they flush the
+		 * current exection off the HW. Check that they are the
+		 * only request in the pending submission.
+		 */
+		if (sentinel) {
+			GEM_TRACE_ERR("context:%llx after sentinel in pending[%zd]\n",
+				      ce->timeline->fence_context,
+				      port - execlists->pending);
+			return false;
+		}
+
+		sentinel = i915_request_has_sentinel(rq);
+		if (sentinel && port != execlists->pending) {
+			GEM_TRACE_ERR("sentinel context:%llx not in prime position[%zd]\n",
+				      ce->timeline->fence_context,
+				      port - execlists->pending);
+			return false;
+		}
+
 		/* Hold tightly onto the lock to prevent concurrent retires! */
 		if (!spin_trylock_irqsave(&rq->lock, flags))
 			continue;
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 3/6] drm/i915/gt: Fix up missing error propagation for heartbeat pulses
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 2/6] drm/i915/execlists: Check the sentinel is alone in the ELSP Chris Wilson
@ 2020-02-18 11:16 ` Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Prevent allocation on a banned context Chris Wilson
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

Just missed setting err along an interruptible error path for the
intel_engine_pulse().

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
index 6c6fd185457c..dd825718e4e5 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
@@ -180,7 +180,7 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
 	struct i915_sched_attr attr = { .priority = I915_PRIORITY_BARRIER };
 	struct intel_context *ce = engine->kernel_context;
 	struct i915_request *rq;
-	int err = 0;
+	int err;
 
 	if (!intel_engine_has_preemption(engine))
 		return -ENODEV;
@@ -188,8 +188,10 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
 	if (!intel_engine_pm_get_if_awake(engine))
 		return 0;
 
-	if (mutex_lock_interruptible(&ce->timeline->mutex))
+	if (mutex_lock_interruptible(&ce->timeline->mutex)) {
+		err = -EINTR;
 		goto out_rpm;
+	}
 
 	intel_context_enter(ce);
 	rq = __i915_request_create(ce, GFP_NOWAIT | __GFP_NOWARN);
@@ -204,6 +206,8 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
 
 	__i915_request_commit(rq);
 	__i915_request_queue(rq, &attr);
+	GEM_BUG_ON(rq->sched.attr.priority < I915_PRIORITY_BARRIER);
+	err = 0;
 
 out_unlock:
 	mutex_unlock(&ce->timeline->mutex);
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 4/6] drm/i915/gt: Prevent allocation on a banned context
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 2/6] drm/i915/execlists: Check the sentinel is alone in the ELSP Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Fix up missing error propagation for heartbeat pulses Chris Wilson
@ 2020-02-18 11:16 ` Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 5/6] drm/i915/gem: Check that the context wasn't closed during setup Chris Wilson
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

If a context is banned even before we submit our first request to it,
report the failure before we attempt to allocate any resources for the
context.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_context.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index 8bb444cda14f..01474d3a558b 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -51,6 +51,11 @@ int intel_context_alloc_state(struct intel_context *ce)
 		return -EINTR;
 
 	if (!test_bit(CONTEXT_ALLOC_BIT, &ce->flags)) {
+		if (intel_context_is_banned(ce)) {
+			err = -EIO;
+			goto unlock;
+		}
+
 		err = ce->ops->alloc(ce);
 		if (unlikely(err))
 			goto unlock;
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 5/6] drm/i915/gem: Check that the context wasn't closed during setup
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (2 preceding siblings ...)
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Prevent allocation on a banned context Chris Wilson
@ 2020-02-18 11:16 ` Chris Wilson
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 6/6] drm/i915/gem: Consolidate ctx->engines[] release Chris Wilson
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

As setup takes a long time, the user may close the context during the
construction of the execbuf. In order to make sure we correctly track
all outstanding work with non-persistent contexts, we need to serialise
the submission with the context closure and mop up any leaks.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 87fa5f42c39a..b2311fe93ad8 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -2729,6 +2729,12 @@ i915_gem_do_execbuffer(struct drm_device *dev,
 		goto err_batch_unpin;
 	}
 
+	/* Check that the context wasn't destroyed before setup */
+	if (!rcu_access_pointer(eb.context->gem_context)) {
+		err = -ENOENT;
+		goto err_request;
+	}
+
 	if (in_fence) {
 		err = i915_request_await_dma_fence(eb.request, in_fence);
 		if (err < 0)
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 6/6] drm/i915/gem: Consolidate ctx->engines[] release
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (3 preceding siblings ...)
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 5/6] drm/i915/gem: Check that the context wasn't closed during setup Chris Wilson
@ 2020-02-18 11:16 ` Chris Wilson
  2020-02-18 12:51   ` [Intel-gfx] [PATCH] " Chris Wilson
  2020-02-18 11:41 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 11:16 UTC (permalink / raw)
  To: intel-gfx

Use the same engine_idle_release() routine for cleaning all old
ctx->engine[] state, closing any potential races with concurrent execbuf
submission.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/1241
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 177 +++++++++++---------
 1 file changed, 95 insertions(+), 82 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 3e82739bdbc0..e6d9dced6954 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -243,7 +243,6 @@ static void __free_engines(struct i915_gem_engines *e, unsigned int count)
 		if (!e->engines[count])
 			continue;
 
-		RCU_INIT_POINTER(e->engines[count]->gem_context, NULL);
 		intel_context_put(e->engines[count]);
 	}
 	kfree(e);
@@ -305,7 +304,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
 	list_del(&ctx->link);
 	spin_unlock(&ctx->i915->gem.contexts.lock);
 
-	free_engines(rcu_access_pointer(ctx->engines));
 	mutex_destroy(&ctx->engines_mutex);
 
 	if (ctx->timeline)
@@ -492,30 +490,107 @@ static void kill_engines(struct i915_gem_engines *engines)
 static void kill_stale_engines(struct i915_gem_context *ctx)
 {
 	struct i915_gem_engines *pos, *next;
-	unsigned long flags;
 
-	spin_lock_irqsave(&ctx->stale.lock, flags);
+	spin_lock_irq(&ctx->stale.lock);
+	GEM_BUG_ON(!i915_gem_context_is_closed(ctx));
 	list_for_each_entry_safe(pos, next, &ctx->stale.engines, link) {
-		if (!i915_sw_fence_await(&pos->fence))
+		if (!i915_sw_fence_await(&pos->fence)) {
+			list_del_init(&pos->link);
 			continue;
+		}
 
-		spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		spin_unlock_irq(&ctx->stale.lock);
 
 		kill_engines(pos);
 
-		spin_lock_irqsave(&ctx->stale.lock, flags);
+		spin_lock_irq(&ctx->stale.lock);
+		GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
 		list_safe_reset_next(pos, next, link);
 		list_del_init(&pos->link); /* decouple from FENCE_COMPLETE */
 
 		i915_sw_fence_complete(&pos->fence);
 	}
-	spin_unlock_irqrestore(&ctx->stale.lock, flags);
+	spin_unlock_irq(&ctx->stale.lock);
 }
 
 static void kill_context(struct i915_gem_context *ctx)
 {
 	kill_stale_engines(ctx);
-	kill_engines(__context_engines_static(ctx));
+}
+
+static int engines_notify(struct i915_sw_fence *fence,
+			  enum i915_sw_fence_notify state)
+{
+	struct i915_gem_engines *engines =
+		container_of(fence, typeof(*engines), fence);
+
+	switch (state) {
+	case FENCE_COMPLETE:
+		if (!list_empty(&engines->link)) {
+			struct i915_gem_context *ctx = engines->ctx;
+			unsigned long flags;
+
+			spin_lock_irqsave(&ctx->stale.lock, flags);
+			list_del(&engines->link);
+			spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		}
+		break;
+
+	case FENCE_FREE:
+		init_rcu_head(&engines->rcu);
+		call_rcu(&engines->rcu, free_engines_rcu);
+		break;
+	}
+
+	return NOTIFY_DONE;
+}
+
+static void engines_idle_release(struct i915_gem_engines *engines)
+{
+	struct i915_gem_engines_iter it;
+	struct intel_context *ce;
+
+	GEM_BUG_ON(!engines);
+	i915_sw_fence_init(&engines->fence, engines_notify);
+	INIT_LIST_HEAD(&engines->link);
+
+	for_each_gem_engine(ce, engines, it) {
+		int err = 0;
+
+		RCU_INIT_POINTER(ce->gem_context, NULL);
+
+		if (!ce->timeline) { /* XXX serialisation with execbuf? */
+			intel_context_set_banned(ce);
+			continue;
+		}
+
+		mutex_lock(&ce->timeline->mutex);
+		if (!list_empty(&ce->timeline->requests)) {
+			struct i915_request *rq;
+
+			rq = list_last_entry(&ce->timeline->requests,
+					     typeof(*rq),
+					     link);
+
+			err = i915_sw_fence_await_dma_fence(&engines->fence,
+							    &rq->fence, 0,
+							    GFP_KERNEL);
+		}
+		mutex_unlock(&ce->timeline->mutex);
+		if (err < 0)
+			goto kill;
+	}
+
+	spin_lock_irq(&engines->ctx->stale.lock);
+	if (!i915_gem_context_is_closed(engines->ctx))
+		list_add_tail(&engines->link, &engines->ctx->stale.engines);
+	spin_unlock_irq(&engines->ctx->stale.lock);
+
+kill:
+	if (list_empty(&engines->link)) /* raced, already closed */
+		kill_engines(engines);
+
+	i915_sw_fence_commit(&engines->fence);
 }
 
 static void set_closed_name(struct i915_gem_context *ctx)
@@ -559,6 +634,11 @@ static void context_close(struct i915_gem_context *ctx)
 
 	mutex_unlock(&ctx->mutex);
 
+	/* Flush any concurrent set_engines() */
+	mutex_lock(&ctx->engines_mutex);
+	engines_idle_release(rcu_replace_pointer(ctx->engines, NULL, 1));
+	mutex_unlock(&ctx->engines_mutex);
+
 	/*
 	 * If the user has disabled hangchecking, we can not be sure that
 	 * the batches will ever complete after the context is closed,
@@ -1562,77 +1642,6 @@ static const i915_user_extension_fn set_engines__extensions[] = {
 	[I915_CONTEXT_ENGINES_EXT_BOND] = set_engines__bond,
 };
 
-static int engines_notify(struct i915_sw_fence *fence,
-			  enum i915_sw_fence_notify state)
-{
-	struct i915_gem_engines *engines =
-		container_of(fence, typeof(*engines), fence);
-
-	switch (state) {
-	case FENCE_COMPLETE:
-		if (!list_empty(&engines->link)) {
-			struct i915_gem_context *ctx = engines->ctx;
-			unsigned long flags;
-
-			spin_lock_irqsave(&ctx->stale.lock, flags);
-			list_del(&engines->link);
-			spin_unlock_irqrestore(&ctx->stale.lock, flags);
-		}
-		break;
-
-	case FENCE_FREE:
-		init_rcu_head(&engines->rcu);
-		call_rcu(&engines->rcu, free_engines_rcu);
-		break;
-	}
-
-	return NOTIFY_DONE;
-}
-
-static void engines_idle_release(struct i915_gem_engines *engines)
-{
-	struct i915_gem_engines_iter it;
-	struct intel_context *ce;
-	unsigned long flags;
-
-	GEM_BUG_ON(!engines);
-	i915_sw_fence_init(&engines->fence, engines_notify);
-
-	INIT_LIST_HEAD(&engines->link);
-	spin_lock_irqsave(&engines->ctx->stale.lock, flags);
-	if (!i915_gem_context_is_closed(engines->ctx))
-		list_add(&engines->link, &engines->ctx->stale.engines);
-	spin_unlock_irqrestore(&engines->ctx->stale.lock, flags);
-	if (list_empty(&engines->link)) /* raced, already closed */
-		goto kill;
-
-	for_each_gem_engine(ce, engines, it) {
-		struct dma_fence *fence;
-		int err;
-
-		if (!ce->timeline)
-			continue;
-
-		fence = i915_active_fence_get(&ce->timeline->last_request);
-		if (!fence)
-			continue;
-
-		err = i915_sw_fence_await_dma_fence(&engines->fence,
-						    fence, 0,
-						    GFP_KERNEL);
-
-		dma_fence_put(fence);
-		if (err < 0)
-			goto kill;
-	}
-	goto out;
-
-kill:
-	kill_engines(engines);
-out:
-	i915_sw_fence_commit(&engines->fence);
-}
-
 static int
 set_engines(struct i915_gem_context *ctx,
 	    const struct drm_i915_gem_context_param *args)
@@ -1729,6 +1738,11 @@ set_engines(struct i915_gem_context *ctx,
 
 replace:
 	mutex_lock(&ctx->engines_mutex);
+	if (i915_gem_context_is_closed(ctx)) {
+		mutex_unlock(&ctx->engines_mutex);
+		free_engines(set.engines);
+		return -ENOENT;
+	}
 	if (args->size)
 		i915_gem_context_set_user_engines(ctx);
 	else
@@ -2033,8 +2047,7 @@ static int clone_engines(struct i915_gem_context *dst,
 	i915_gem_context_unlock_engines(src);
 
 	/* Serialised by constructor */
-	free_engines(__context_engines_static(dst));
-	RCU_INIT_POINTER(dst->engines, clone);
+	engines_idle_release(rcu_replace_pointer(dst->engines, clone, 1));
 	if (user_engines)
 		i915_gem_context_set_user_engines(dst);
 	else
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (4 preceding siblings ...)
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 6/6] drm/i915/gem: Consolidate ctx->engines[] release Chris Wilson
@ 2020-02-18 11:41 ` Patchwork
  2020-02-18 12:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 11:41 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug
URL   : https://patchwork.freedesktop.org/series/73567/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
bc3998499b8b drm/i915/gt: Show the cumulative context runtime in engine debug
-:35: WARNING:LONG_LINE: line over 100 characters
#35: FILE: drivers/gpu/drm/i915/gt/intel_engine_cs.c:1393:
+						DIV_ROUND_CLOSEST_ULL(intel_context_get_total_runtime_ns(rq->context),

total: 0 errors, 1 warnings, 0 checks, 22 lines checked
a5a21f76779e drm/i915/execlists: Check the sentinel is alone in the ELSP
6f9a3708f010 drm/i915/gt: Fix up missing error propagation for heartbeat pulses
0b1cbf2f8e55 drm/i915/gt: Prevent allocation on a banned context
80b24ffec43b drm/i915/gem: Check that the context wasn't closed during setup
25201c4b415a drm/i915/gem: Consolidate ctx->engines[] release

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (5 preceding siblings ...)
  2020-02-18 11:41 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Patchwork
@ 2020-02-18 12:20 ` Patchwork
  2020-02-18 13:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2) Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 12:20 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug
URL   : https://patchwork.freedesktop.org/series/73567/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7958 -> Patchwork_16596
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_16596 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_16596, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_ctx_create@basic-files:
    - fi-bdw-5557u:       [PASS][1] -> [FAIL][2] +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bdw-5557u/igt@gem_ctx_create@basic-files.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bdw-5557u/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_parallel@contexts:
    - fi-kbl-7500u:       [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-7500u/igt@gem_exec_parallel@contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-7500u/igt@gem_exec_parallel@contexts.html
    - fi-icl-u2:          [PASS][5] -> [FAIL][6] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u2/igt@gem_exec_parallel@contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-u2/igt@gem_exec_parallel@contexts.html
    - fi-snb-2520m:       [PASS][7] -> [FAIL][8] +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-snb-2520m/igt@gem_exec_parallel@contexts.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-snb-2520m/igt@gem_exec_parallel@contexts.html
    - fi-skl-lmem:        [PASS][9] -> [FAIL][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-lmem/igt@gem_exec_parallel@contexts.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-lmem/igt@gem_exec_parallel@contexts.html
    - fi-skl-6770hq:      [PASS][11] -> [FAIL][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6770hq/igt@gem_exec_parallel@contexts.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6770hq/igt@gem_exec_parallel@contexts.html
    - fi-elk-e7500:       [PASS][13] -> [FAIL][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-elk-e7500/igt@gem_exec_parallel@contexts.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-elk-e7500/igt@gem_exec_parallel@contexts.html
    - fi-ilk-650:         [PASS][15] -> [FAIL][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-ilk-650/igt@gem_exec_parallel@contexts.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-ilk-650/igt@gem_exec_parallel@contexts.html
    - fi-kbl-x1275:       [PASS][17] -> [FAIL][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-x1275/igt@gem_exec_parallel@contexts.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-x1275/igt@gem_exec_parallel@contexts.html
    - fi-icl-y:           [PASS][19] -> [FAIL][20] +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-y/igt@gem_exec_parallel@contexts.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-y/igt@gem_exec_parallel@contexts.html
    - fi-skl-guc:         [PASS][21] -> [FAIL][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-guc/igt@gem_exec_parallel@contexts.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-guc/igt@gem_exec_parallel@contexts.html
    - fi-kbl-8809g:       [PASS][23] -> [FAIL][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-8809g/igt@gem_exec_parallel@contexts.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-8809g/igt@gem_exec_parallel@contexts.html
    - fi-kbl-guc:         [PASS][25] -> [FAIL][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-guc/igt@gem_exec_parallel@contexts.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-guc/igt@gem_exec_parallel@contexts.html
    - fi-skl-6600u:       [PASS][27] -> [FAIL][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6600u/igt@gem_exec_parallel@contexts.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6600u/igt@gem_exec_parallel@contexts.html
    - fi-cfl-8700k:       [PASS][29] -> [FAIL][30] +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-8700k/igt@gem_exec_parallel@contexts.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-8700k/igt@gem_exec_parallel@contexts.html
    - fi-apl-guc:         [PASS][31] -> [FAIL][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-apl-guc/igt@gem_exec_parallel@contexts.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-apl-guc/igt@gem_exec_parallel@contexts.html
    - fi-skl-6700k2:      [PASS][33] -> [FAIL][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6700k2/igt@gem_exec_parallel@contexts.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6700k2/igt@gem_exec_parallel@contexts.html
    - fi-icl-guc:         [PASS][35] -> [FAIL][36] +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-guc/igt@gem_exec_parallel@contexts.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-guc/igt@gem_exec_parallel@contexts.html
    - fi-kbl-soraka:      [PASS][37] -> [FAIL][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-soraka/igt@gem_exec_parallel@contexts.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-soraka/igt@gem_exec_parallel@contexts.html
    - fi-glk-dsi:         [PASS][39] -> [FAIL][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-glk-dsi/igt@gem_exec_parallel@contexts.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-glk-dsi/igt@gem_exec_parallel@contexts.html

  * igt@gem_exec_parallel@fds:
    - fi-cml-s:           [PASS][41] -> [FAIL][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-s/igt@gem_exec_parallel@fds.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cml-s/igt@gem_exec_parallel@fds.html
    - fi-cfl-guc:         [PASS][43] -> [FAIL][44] +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-guc/igt@gem_exec_parallel@fds.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-guc/igt@gem_exec_parallel@fds.html
    - fi-bsw-n3050:       [PASS][45] -> [FAIL][46] +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bsw-n3050/igt@gem_exec_parallel@fds.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bsw-n3050/igt@gem_exec_parallel@fds.html
    - fi-icl-u3:          [PASS][47] -> [FAIL][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u3/igt@gem_exec_parallel@fds.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-u3/igt@gem_exec_parallel@fds.html
    - fi-cml-u2:          [PASS][49] -> [FAIL][50] +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-u2/igt@gem_exec_parallel@fds.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cml-u2/igt@gem_exec_parallel@fds.html
    - fi-snb-2600:        [PASS][51] -> [FAIL][52] +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-snb-2600/igt@gem_exec_parallel@fds.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-snb-2600/igt@gem_exec_parallel@fds.html
    - fi-bxt-dsi:         [PASS][53] -> [FAIL][54] +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bxt-dsi/igt@gem_exec_parallel@fds.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bxt-dsi/igt@gem_exec_parallel@fds.html
    - fi-bsw-nick:        [PASS][55] -> [FAIL][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bsw-nick/igt@gem_exec_parallel@fds.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bsw-nick/igt@gem_exec_parallel@fds.html
    - fi-icl-dsi:         [PASS][57] -> [FAIL][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-dsi/igt@gem_exec_parallel@fds.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-dsi/igt@gem_exec_parallel@fds.html
    - fi-cfl-8109u:       [PASS][59] -> [FAIL][60] +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-8109u/igt@gem_exec_parallel@fds.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-8109u/igt@gem_exec_parallel@fds.html
    - fi-snb-2520m:       [PASS][61] -> [INCOMPLETE][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-snb-2520m/igt@gem_exec_parallel@fds.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-snb-2520m/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-apl-guc:         [PASS][63] -> [DMESG-FAIL][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-apl-guc/igt@i915_selftest@live_gem_contexts.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-apl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-bxt-dsi:         [PASS][65] -> [DMESG-FAIL][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bxt-dsi/igt@i915_selftest@live_gem_contexts.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bxt-dsi/igt@i915_selftest@live_gem_contexts.html
    - fi-cml-u2:          [PASS][67] -> [DMESG-FAIL][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-u2/igt@i915_selftest@live_gem_contexts.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cml-u2/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-dsi:         [PASS][69] -> [DMESG-FAIL][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-dsi/igt@i915_selftest@live_gem_contexts.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-dsi/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-7500u:       [PASS][71] -> [DMESG-FAIL][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
    - fi-hsw-4770:        [PASS][73] -> [DMESG-FAIL][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-y:           [PASS][75] -> [DMESG-FAIL][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-y/igt@i915_selftest@live_gem_contexts.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-y/igt@i915_selftest@live_gem_contexts.html
    - fi-glk-dsi:         [PASS][77] -> [DMESG-FAIL][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-glk-dsi/igt@i915_selftest@live_gem_contexts.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-glk-dsi/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-u3:          [PASS][79] -> [DMESG-FAIL][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u3/igt@i915_selftest@live_gem_contexts.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-u3/igt@i915_selftest@live_gem_contexts.html
    - fi-ilk-650:         [PASS][81] -> [DMESG-FAIL][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-ilk-650/igt@i915_selftest@live_gem_contexts.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-ilk-650/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-guc:         [PASS][83] -> [DMESG-FAIL][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-guc/igt@i915_selftest@live_gem_contexts.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-u2:          [PASS][85] -> [DMESG-FAIL][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u2/igt@i915_selftest@live_gem_contexts.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-u2/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-guc:         [PASS][87] -> [DMESG-FAIL][88]
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-guc/igt@i915_selftest@live_gem_contexts.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-bdw-5557u:       [PASS][89] -> [DMESG-FAIL][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bdw-5557u/igt@i915_selftest@live_gem_contexts.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bdw-5557u/igt@i915_selftest@live_gem_contexts.html
    - fi-bsw-nick:        [PASS][91] -> [DMESG-FAIL][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bsw-nick/igt@i915_selftest@live_gem_contexts.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bsw-nick/igt@i915_selftest@live_gem_contexts.html
    - fi-snb-2600:        [PASS][93] -> [DMESG-FAIL][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-snb-2600/igt@i915_selftest@live_gem_contexts.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-snb-2600/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-x1275:       [PASS][95] -> [DMESG-FAIL][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-x1275/igt@i915_selftest@live_gem_contexts.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-x1275/igt@i915_selftest@live_gem_contexts.html
    - fi-bsw-n3050:       [PASS][97] -> [DMESG-FAIL][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bsw-n3050/igt@i915_selftest@live_gem_contexts.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-bsw-n3050/igt@i915_selftest@live_gem_contexts.html
    - fi-cml-s:           [PASS][99] -> [DMESG-FAIL][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-s/igt@i915_selftest@live_gem_contexts.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cml-s/igt@i915_selftest@live_gem_contexts.html

  * igt@i915_selftest@live_workarounds:
    - fi-ivb-3770:        [PASS][101] -> [INCOMPLETE][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-ivb-3770/igt@i915_selftest@live_workarounds.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-ivb-3770/igt@i915_selftest@live_workarounds.html
    - fi-hsw-4770r:       [PASS][103] -> [INCOMPLETE][104]
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-hsw-4770r/igt@i915_selftest@live_workarounds.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-hsw-4770r/igt@i915_selftest@live_workarounds.html

  
#### Warnings ####

  * igt@i915_selftest@live_gem_contexts:
    - fi-byt-j1900:       [DMESG-FAIL][105] ([i915#722]) -> [DMESG-FAIL][106]
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html
    - fi-byt-n2820:       [DMESG-FAIL][107] ([i915#1052]) -> [DMESG-FAIL][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html

  
#### Suppressed ####

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

  * igt@gem_exec_parallel@contexts:
    - {fi-tgl-u}:         [PASS][109] -> [FAIL][110] +1 similar issue
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-tgl-u/igt@gem_exec_parallel@contexts.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-tgl-u/igt@gem_exec_parallel@contexts.html
    - {fi-kbl-7560u}:     NOTRUN -> [FAIL][111]
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-7560u/igt@gem_exec_parallel@contexts.html

  * igt@gem_exec_parallel@fds:
    - {fi-tgl-dsi}:       [PASS][112] -> [FAIL][113] +1 similar issue
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-tgl-dsi/igt@gem_exec_parallel@fds.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-tgl-dsi/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_gem_contexts:
    - {fi-kbl-7560u}:     NOTRUN -> [DMESG-FAIL][114]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-7560u/igt@i915_selftest@live_gem_contexts.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-byt-n2820:       [PASS][115] -> [FAIL][116] ([i915#694]) +2 similar issues
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@gem_ctx_create@basic-files.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-n2820/igt@gem_ctx_create@basic-files.html
    - fi-ivb-3770:        [PASS][117] -> [FAIL][118] ([i915#694]) +2 similar issues
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-ivb-3770/igt@gem_ctx_create@basic-files.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-ivb-3770/igt@gem_ctx_create@basic-files.html
    - fi-hsw-4770r:       [PASS][119] -> [FAIL][120] ([i915#694]) +2 similar issues
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-hsw-4770r/igt@gem_ctx_create@basic-files.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-hsw-4770r/igt@gem_ctx_create@basic-files.html
    - fi-byt-j1900:       [PASS][121] -> [FAIL][122] ([i915#694])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-j1900/igt@gem_ctx_create@basic-files.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-j1900/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_parallel@contexts:
    - fi-hsw-4770r:       [PASS][123] -> [TIMEOUT][124] ([fdo#112271])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-hsw-4770r/igt@gem_exec_parallel@contexts.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-hsw-4770r/igt@gem_exec_parallel@contexts.html

  * igt@gem_exec_parallel@fds:
    - fi-skl-guc:         [PASS][125] -> [FAIL][126] ([fdo#112130])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-guc/igt@gem_exec_parallel@fds.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-guc/igt@gem_exec_parallel@fds.html
    - fi-hsw-4770:        [PASS][127] -> [FAIL][128] ([i915#694]) +2 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-hsw-4770/igt@gem_exec_parallel@fds.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-hsw-4770/igt@gem_exec_parallel@fds.html
    - fi-skl-lmem:        [PASS][129] -> [FAIL][130] ([fdo#112130])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-lmem/igt@gem_exec_parallel@fds.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-lmem/igt@gem_exec_parallel@fds.html
    - fi-kbl-soraka:      [PASS][131] -> [FAIL][132] ([fdo#112130])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-soraka/igt@gem_exec_parallel@fds.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-soraka/igt@gem_exec_parallel@fds.html
    - fi-kbl-8809g:       [PASS][133] -> [FAIL][134] ([fdo#112130])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-8809g/igt@gem_exec_parallel@fds.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-8809g/igt@gem_exec_parallel@fds.html
    - fi-skl-6770hq:      [PASS][135] -> [FAIL][136] ([fdo#112130])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6770hq/igt@gem_exec_parallel@fds.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6770hq/igt@gem_exec_parallel@fds.html
    - fi-kbl-x1275:       [PASS][137] -> [FAIL][138] ([fdo#112130])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-x1275/igt@gem_exec_parallel@fds.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-x1275/igt@gem_exec_parallel@fds.html
    - fi-skl-6600u:       [PASS][139] -> [FAIL][140] ([fdo#112130])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6600u/igt@gem_exec_parallel@fds.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6600u/igt@gem_exec_parallel@fds.html
    - fi-apl-guc:         [PASS][141] -> [FAIL][142] ([fdo#112130])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-apl-guc/igt@gem_exec_parallel@fds.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-apl-guc/igt@gem_exec_parallel@fds.html
    - fi-skl-6700k2:      [PASS][143] -> [FAIL][144] ([fdo#112130])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6700k2/igt@gem_exec_parallel@fds.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6700k2/igt@gem_exec_parallel@fds.html
    - fi-kbl-guc:         [PASS][145] -> [FAIL][146] ([fdo#112130])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-guc/igt@gem_exec_parallel@fds.html
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-guc/igt@gem_exec_parallel@fds.html
    - fi-kbl-7500u:       [PASS][147] -> [FAIL][148] ([fdo#112130])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-7500u/igt@gem_exec_parallel@fds.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-kbl-7500u/igt@gem_exec_parallel@fds.html
    - fi-glk-dsi:         [PASS][149] -> [FAIL][150] ([fdo#112130])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-glk-dsi/igt@gem_exec_parallel@fds.html
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-glk-dsi/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-skl-lmem:        [PASS][151] -> [DMESG-FAIL][152] ([i915#623])
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-lmem/igt@i915_selftest@live_gem_contexts.html
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-lmem/igt@i915_selftest@live_gem_contexts.html
    - fi-skl-6600u:       [PASS][153] -> [DMESG-FAIL][154] ([i915#623])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6600u/igt@i915_selftest@live_gem_contexts.html
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6600u/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-8700k:       [PASS][155] -> [DMESG-FAIL][156] ([i915#623])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
    - fi-skl-guc:         [PASS][157] -> [DMESG-FAIL][158] ([i915#623])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-guc/igt@i915_selftest@live_gem_contexts.html
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-8109u:       [PASS][159] -> [DMESG-FAIL][160] ([i915#623])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-8109u/igt@i915_selftest@live_gem_contexts.html
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-8109u/igt@i915_selftest@live_gem_contexts.html
    - fi-skl-6700k2:      [PASS][161] -> [DMESG-FAIL][162] ([i915#623])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6700k2/igt@i915_selftest@live_gem_contexts.html
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6700k2/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-guc:         [PASS][163] -> [DMESG-FAIL][164] ([i915#623])
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-skl-6770hq:      [INCOMPLETE][165] ([i915#151]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6770hq/igt@i915_pm_rpm@basic-pci-d3-state.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-skl-6770hq/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_selftest@live_active:
    - fi-icl-y:           [DMESG-FAIL][167] ([i915#765]) -> [PASS][168]
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-y/igt@i915_selftest@live_active.html
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-y/igt@i915_selftest@live_active.html

  * igt@i915_selftest@live_gtt:
    - fi-icl-guc:         [TIMEOUT][169] ([fdo#112271]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-guc/igt@i915_selftest@live_gtt.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-icl-guc/igt@i915_selftest@live_gtt.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-cml-u2:          [FAIL][171] ([i915#217] / [i915#976]) -> [PASS][172]
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html

  
#### Warnings ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [TIMEOUT][173] ([fdo#112271] / [i915#1084] / [i915#816]) -> [FAIL][174] ([i915#694])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@gem_exec_parallel@contexts:
    - fi-byt-n2820:       [FAIL][175] ([i915#694]) -> [TIMEOUT][176] ([fdo#112271])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/fi-byt-n2820/igt@gem_exec_parallel@contexts.html

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

  [fdo#112130]: https://bugs.freedesktop.org/show_bug.cgi?id=112130
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1052]: https://gitlab.freedesktop.org/drm/intel/issues/1052
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
  [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
  [i915#623]: https://gitlab.freedesktop.org/drm/intel/issues/623
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
  [i915#765]: https://gitlab.freedesktop.org/drm/intel/issues/765
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
  [i915#937]: https://gitlab.freedesktop.org/drm/intel/issues/937
  [i915#976]: https://gitlab.freedesktop.org/drm/intel/issues/976


Participating hosts (51 -> 44)
------------------------------

  Additional (2): fi-hsw-peppy fi-kbl-7560u 
  Missing    (9): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bsw-kefka fi-blb-e6850 fi-byt-clapper fi-bdw-samus fi-kbl-r 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7958 -> Patchwork_16596

  CI-20190529: 20190529
  CI_DRM_7958: af30970548f72cf8a37886f009e0cfe02b23c8a4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5445: 21e523814d692978d6d04ba85eadd67fcbd88b7e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16596: 25201c4b415a921586fc5e999e8e9720d9e1bd31 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

25201c4b415a drm/i915/gem: Consolidate ctx->engines[] release
80b24ffec43b drm/i915/gem: Check that the context wasn't closed during setup
0b1cbf2f8e55 drm/i915/gt: Prevent allocation on a banned context
6f9a3708f010 drm/i915/gt: Fix up missing error propagation for heartbeat pulses
a5a21f76779e drm/i915/execlists: Check the sentinel is alone in the ELSP
bc3998499b8b drm/i915/gt: Show the cumulative context runtime in engine debug

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16596/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH] drm/i915/gem: Consolidate ctx->engines[] release
  2020-02-18 11:16 ` [Intel-gfx] [PATCH 6/6] drm/i915/gem: Consolidate ctx->engines[] release Chris Wilson
@ 2020-02-18 12:51   ` Chris Wilson
  2020-02-18 13:57     ` Chris Wilson
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 12:51 UTC (permalink / raw)
  To: intel-gfx

Use the same engine_idle_release() routine for cleaning all old
ctx->engine[] state, closing any potential races with concurrent execbuf
submission.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/1241
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
Reorder set-closed/engine_idle_release to avoid premature killing
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 179 +++++++++++---------
 1 file changed, 96 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 3e82739bdbc0..b7d824a2b711 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -243,7 +243,6 @@ static void __free_engines(struct i915_gem_engines *e, unsigned int count)
 		if (!e->engines[count])
 			continue;
 
-		RCU_INIT_POINTER(e->engines[count]->gem_context, NULL);
 		intel_context_put(e->engines[count]);
 	}
 	kfree(e);
@@ -305,7 +304,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
 	list_del(&ctx->link);
 	spin_unlock(&ctx->i915->gem.contexts.lock);
 
-	free_engines(rcu_access_pointer(ctx->engines));
 	mutex_destroy(&ctx->engines_mutex);
 
 	if (ctx->timeline)
@@ -492,30 +490,107 @@ static void kill_engines(struct i915_gem_engines *engines)
 static void kill_stale_engines(struct i915_gem_context *ctx)
 {
 	struct i915_gem_engines *pos, *next;
-	unsigned long flags;
 
-	spin_lock_irqsave(&ctx->stale.lock, flags);
+	spin_lock_irq(&ctx->stale.lock);
+	GEM_BUG_ON(!i915_gem_context_is_closed(ctx));
 	list_for_each_entry_safe(pos, next, &ctx->stale.engines, link) {
-		if (!i915_sw_fence_await(&pos->fence))
+		if (!i915_sw_fence_await(&pos->fence)) {
+			list_del_init(&pos->link);
 			continue;
+		}
 
-		spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		spin_unlock_irq(&ctx->stale.lock);
 
 		kill_engines(pos);
 
-		spin_lock_irqsave(&ctx->stale.lock, flags);
+		spin_lock_irq(&ctx->stale.lock);
+		GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
 		list_safe_reset_next(pos, next, link);
 		list_del_init(&pos->link); /* decouple from FENCE_COMPLETE */
 
 		i915_sw_fence_complete(&pos->fence);
 	}
-	spin_unlock_irqrestore(&ctx->stale.lock, flags);
+	spin_unlock_irq(&ctx->stale.lock);
 }
 
 static void kill_context(struct i915_gem_context *ctx)
 {
 	kill_stale_engines(ctx);
-	kill_engines(__context_engines_static(ctx));
+}
+
+static int engines_notify(struct i915_sw_fence *fence,
+			  enum i915_sw_fence_notify state)
+{
+	struct i915_gem_engines *engines =
+		container_of(fence, typeof(*engines), fence);
+
+	switch (state) {
+	case FENCE_COMPLETE:
+		if (!list_empty(&engines->link)) {
+			struct i915_gem_context *ctx = engines->ctx;
+			unsigned long flags;
+
+			spin_lock_irqsave(&ctx->stale.lock, flags);
+			list_del(&engines->link);
+			spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		}
+		break;
+
+	case FENCE_FREE:
+		init_rcu_head(&engines->rcu);
+		call_rcu(&engines->rcu, free_engines_rcu);
+		break;
+	}
+
+	return NOTIFY_DONE;
+}
+
+static void engines_idle_release(struct i915_gem_engines *engines)
+{
+	struct i915_gem_engines_iter it;
+	struct intel_context *ce;
+
+	GEM_BUG_ON(!engines);
+	i915_sw_fence_init(&engines->fence, engines_notify);
+	INIT_LIST_HEAD(&engines->link);
+
+	for_each_gem_engine(ce, engines, it) {
+		int err = 0;
+
+		RCU_INIT_POINTER(ce->gem_context, NULL);
+
+		if (!ce->timeline) { /* XXX serialisation with execbuf? */
+			intel_context_set_banned(ce);
+			continue;
+		}
+
+		mutex_lock(&ce->timeline->mutex);
+		if (!list_empty(&ce->timeline->requests)) {
+			struct i915_request *rq;
+
+			rq = list_last_entry(&ce->timeline->requests,
+					     typeof(*rq),
+					     link);
+
+			err = i915_sw_fence_await_dma_fence(&engines->fence,
+							    &rq->fence, 0,
+							    GFP_KERNEL);
+		}
+		mutex_unlock(&ce->timeline->mutex);
+		if (err < 0)
+			goto kill;
+	}
+
+	spin_lock_irq(&engines->ctx->stale.lock);
+	if (!i915_gem_context_is_closed(engines->ctx))
+		list_add_tail(&engines->link, &engines->ctx->stale.engines);
+	spin_unlock_irq(&engines->ctx->stale.lock);
+
+kill:
+	if (list_empty(&engines->link)) /* raced, already closed */
+		kill_engines(engines);
+
+	i915_sw_fence_commit(&engines->fence);
 }
 
 static void set_closed_name(struct i915_gem_context *ctx)
@@ -539,11 +614,16 @@ static void context_close(struct i915_gem_context *ctx)
 {
 	struct i915_address_space *vm;
 
+	/* Flush any concurrent set_engines() */
+	mutex_lock(&ctx->engines_mutex);
+	engines_idle_release(rcu_replace_pointer(ctx->engines, NULL, 1));
 	i915_gem_context_set_closed(ctx);
-	set_closed_name(ctx);
+	mutex_unlock(&ctx->engines_mutex);
 
 	mutex_lock(&ctx->mutex);
 
+	set_closed_name(ctx);
+
 	vm = i915_gem_context_vm(ctx);
 	if (vm)
 		i915_vm_close(vm);
@@ -1562,77 +1642,6 @@ static const i915_user_extension_fn set_engines__extensions[] = {
 	[I915_CONTEXT_ENGINES_EXT_BOND] = set_engines__bond,
 };
 
-static int engines_notify(struct i915_sw_fence *fence,
-			  enum i915_sw_fence_notify state)
-{
-	struct i915_gem_engines *engines =
-		container_of(fence, typeof(*engines), fence);
-
-	switch (state) {
-	case FENCE_COMPLETE:
-		if (!list_empty(&engines->link)) {
-			struct i915_gem_context *ctx = engines->ctx;
-			unsigned long flags;
-
-			spin_lock_irqsave(&ctx->stale.lock, flags);
-			list_del(&engines->link);
-			spin_unlock_irqrestore(&ctx->stale.lock, flags);
-		}
-		break;
-
-	case FENCE_FREE:
-		init_rcu_head(&engines->rcu);
-		call_rcu(&engines->rcu, free_engines_rcu);
-		break;
-	}
-
-	return NOTIFY_DONE;
-}
-
-static void engines_idle_release(struct i915_gem_engines *engines)
-{
-	struct i915_gem_engines_iter it;
-	struct intel_context *ce;
-	unsigned long flags;
-
-	GEM_BUG_ON(!engines);
-	i915_sw_fence_init(&engines->fence, engines_notify);
-
-	INIT_LIST_HEAD(&engines->link);
-	spin_lock_irqsave(&engines->ctx->stale.lock, flags);
-	if (!i915_gem_context_is_closed(engines->ctx))
-		list_add(&engines->link, &engines->ctx->stale.engines);
-	spin_unlock_irqrestore(&engines->ctx->stale.lock, flags);
-	if (list_empty(&engines->link)) /* raced, already closed */
-		goto kill;
-
-	for_each_gem_engine(ce, engines, it) {
-		struct dma_fence *fence;
-		int err;
-
-		if (!ce->timeline)
-			continue;
-
-		fence = i915_active_fence_get(&ce->timeline->last_request);
-		if (!fence)
-			continue;
-
-		err = i915_sw_fence_await_dma_fence(&engines->fence,
-						    fence, 0,
-						    GFP_KERNEL);
-
-		dma_fence_put(fence);
-		if (err < 0)
-			goto kill;
-	}
-	goto out;
-
-kill:
-	kill_engines(engines);
-out:
-	i915_sw_fence_commit(&engines->fence);
-}
-
 static int
 set_engines(struct i915_gem_context *ctx,
 	    const struct drm_i915_gem_context_param *args)
@@ -1729,6 +1738,11 @@ set_engines(struct i915_gem_context *ctx,
 
 replace:
 	mutex_lock(&ctx->engines_mutex);
+	if (i915_gem_context_is_closed(ctx)) {
+		mutex_unlock(&ctx->engines_mutex);
+		free_engines(set.engines);
+		return -ENOENT;
+	}
 	if (args->size)
 		i915_gem_context_set_user_engines(ctx);
 	else
@@ -2033,8 +2047,7 @@ static int clone_engines(struct i915_gem_context *dst,
 	i915_gem_context_unlock_engines(src);
 
 	/* Serialised by constructor */
-	free_engines(__context_engines_static(dst));
-	RCU_INIT_POINTER(dst->engines, clone);
+	engines_idle_release(rcu_replace_pointer(dst->engines, clone, 1));
 	if (user_engines)
 		i915_gem_context_set_user_engines(dst);
 	else
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2)
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (6 preceding siblings ...)
  2020-02-18 12:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2020-02-18 13:06 ` Patchwork
  2020-02-18 13:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 13:06 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2)
URL   : https://patchwork.freedesktop.org/series/73567/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
db917091f9b4 drm/i915/gt: Show the cumulative context runtime in engine debug
-:35: WARNING:LONG_LINE: line over 100 characters
#35: FILE: drivers/gpu/drm/i915/gt/intel_engine_cs.c:1393:
+						DIV_ROUND_CLOSEST_ULL(intel_context_get_total_runtime_ns(rq->context),

total: 0 errors, 1 warnings, 0 checks, 22 lines checked
74c461f64d41 drm/i915/execlists: Check the sentinel is alone in the ELSP
8c5ed860c271 drm/i915/gt: Fix up missing error propagation for heartbeat pulses
394aeed8e20e drm/i915/gt: Prevent allocation on a banned context
e16c771779a1 drm/i915/gem: Check that the context wasn't closed during setup
7d1de8fda493 drm/i915/gem: Consolidate ctx->engines[] release

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2)
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (7 preceding siblings ...)
  2020-02-18 13:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2) Patchwork
@ 2020-02-18 13:33 ` Patchwork
  2020-02-18 19:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3) Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 13:33 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2)
URL   : https://patchwork.freedesktop.org/series/73567/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7958 -> Patchwork_16597
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_16597 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_16597, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_gem_contexts:
    - fi-icl-u2:          [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u2/igt@i915_selftest@live_gem_contexts.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-u2/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-dsi:         [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-dsi/igt@i915_selftest@live_gem_contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-dsi/igt@i915_selftest@live_gem_contexts.html
    - fi-bdw-5557u:       [PASS][5] -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bdw-5557u/igt@i915_selftest@live_gem_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-bdw-5557u/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-y:           [PASS][7] -> [INCOMPLETE][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-y/igt@i915_selftest@live_gem_contexts.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-y/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-u3:          [PASS][9] -> [INCOMPLETE][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-u3/igt@i915_selftest@live_gem_contexts.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-u3/igt@i915_selftest@live_gem_contexts.html
    - fi-icl-guc:         [PASS][11] -> [INCOMPLETE][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-guc/igt@i915_selftest@live_gem_contexts.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-guc/igt@i915_selftest@live_gem_contexts.html

  * igt@runner@aborted:
    - fi-apl-guc:         NOTRUN -> [FAIL][13]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-apl-guc/igt@runner@aborted.html
    - fi-bxt-dsi:         NOTRUN -> [FAIL][14]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-bxt-dsi/igt@runner@aborted.html

  
#### Warnings ####

  * igt@amdgpu/amd_prime@i915-to-amd:
    - fi-kbl-8809g:       [DMESG-WARN][15] ([i915#1209]) -> [INCOMPLETE][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-8809g/igt@amdgpu/amd_prime@i915-to-amd.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-kbl-8809g/igt@amdgpu/amd_prime@i915-to-amd.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_parallel@contexts:
    - fi-apl-guc:         [PASS][17] -> [INCOMPLETE][18] ([fdo#103927])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-apl-guc/igt@gem_exec_parallel@contexts.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-apl-guc/igt@gem_exec_parallel@contexts.html
    - fi-bxt-dsi:         [PASS][19] -> [INCOMPLETE][20] ([fdo#103927])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-bxt-dsi/igt@gem_exec_parallel@contexts.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-bxt-dsi/igt@gem_exec_parallel@contexts.html

  * igt@gem_exec_parallel@fds:
    - fi-byt-n2820:       [PASS][21] -> [FAIL][22] ([i915#694])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@gem_exec_parallel@fds.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-byt-n2820/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-skl-6600u:       [PASS][23] -> [INCOMPLETE][24] ([i915#424])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6600u/igt@i915_selftest@live_gem_contexts.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-skl-6600u/igt@i915_selftest@live_gem_contexts.html
    - fi-cml-u2:          [PASS][25] -> [INCOMPLETE][26] ([i915#283])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-u2/igt@i915_selftest@live_gem_contexts.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-cml-u2/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-8700k:       [PASS][27] -> [INCOMPLETE][28] ([i915#424])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-guc:         [PASS][29] -> [INCOMPLETE][30] ([i915#504])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-guc/igt@i915_selftest@live_gem_contexts.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-kbl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-7500u:       [PASS][31] -> [INCOMPLETE][32] ([i915#504])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
    - fi-skl-guc:         [PASS][33] -> [INCOMPLETE][34] ([i915#424])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-guc/igt@i915_selftest@live_gem_contexts.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-skl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-r:           [PASS][35] -> [INCOMPLETE][36] ([i915#504])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-r/igt@i915_selftest@live_gem_contexts.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-kbl-r/igt@i915_selftest@live_gem_contexts.html
    - fi-kbl-x1275:       [PASS][37] -> [INCOMPLETE][38] ([i915#504])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-kbl-x1275/igt@i915_selftest@live_gem_contexts.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-kbl-x1275/igt@i915_selftest@live_gem_contexts.html
    - fi-skl-6700k2:      [PASS][39] -> [INCOMPLETE][40] ([i915#424])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6700k2/igt@i915_selftest@live_gem_contexts.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-skl-6700k2/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-guc:         [PASS][41] -> [INCOMPLETE][42] ([fdo#106070] / [i915#424])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-cml-s:           [PASS][43] -> [INCOMPLETE][44] ([i915#283])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-s/igt@i915_selftest@live_gem_contexts.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-cml-s/igt@i915_selftest@live_gem_contexts.html

  * igt@i915_selftest@live_gtt:
    - fi-skl-6600u:       [PASS][45] -> [TIMEOUT][46] ([fdo#111732] / [fdo#112271])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6600u/igt@i915_selftest@live_gtt.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-skl-6600u/igt@i915_selftest@live_gtt.html

  
#### Possible fixes ####

  * igt@gem_exec_parallel@contexts:
    - fi-byt-n2820:       [FAIL][47] ([i915#694]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-byt-n2820/igt@gem_exec_parallel@contexts.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-skl-6770hq:      [INCOMPLETE][49] ([i915#151]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-skl-6770hq/igt@i915_pm_rpm@basic-pci-d3-state.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-skl-6770hq/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_selftest@live_active:
    - fi-icl-y:           [DMESG-FAIL][51] ([i915#765]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-y/igt@i915_selftest@live_active.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-y/igt@i915_selftest@live_active.html

  * igt@i915_selftest@live_gtt:
    - fi-icl-guc:         [TIMEOUT][53] ([fdo#112271]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-icl-guc/igt@i915_selftest@live_gtt.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-icl-guc/igt@i915_selftest@live_gtt.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-cml-u2:          [FAIL][55] ([i915#217] / [i915#976]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html

  
#### Warnings ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [TIMEOUT][57] ([fdo#112271] / [i915#1084] / [i915#816]) -> [INCOMPLETE][58] ([i915#45])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-byt-n2820:       [DMESG-FAIL][59] ([i915#1052]) -> [INCOMPLETE][60] ([i915#45])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7958/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
  [fdo#111732]: https://bugs.freedesktop.org/show_bug.cgi?id=111732
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1052]: https://gitlab.freedesktop.org/drm/intel/issues/1052
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#1209]: https://gitlab.freedesktop.org/drm/intel/issues/1209
  [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
  [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
  [i915#283]: https://gitlab.freedesktop.org/drm/intel/issues/283
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
  [i915#504]: https://gitlab.freedesktop.org/drm/intel/issues/504
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#765]: https://gitlab.freedesktop.org/drm/intel/issues/765
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
  [i915#937]: https://gitlab.freedesktop.org/drm/intel/issues/937
  [i915#976]: https://gitlab.freedesktop.org/drm/intel/issues/976


Participating hosts (51 -> 40)
------------------------------

  Additional (1): fi-hsw-peppy 
  Missing    (12): fi-bsw-n3050 fi-hsw-4200u fi-glk-dsi fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-ivb-3770 fi-cfl-8109u fi-elk-e7500 fi-skl-lmem fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7958 -> Patchwork_16597

  CI-20190529: 20190529
  CI_DRM_7958: af30970548f72cf8a37886f009e0cfe02b23c8a4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5445: 21e523814d692978d6d04ba85eadd67fcbd88b7e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16597: 7d1de8fda493e156deff2ec551d70fcb0ab83cd6 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7d1de8fda493 drm/i915/gem: Consolidate ctx->engines[] release
e16c771779a1 drm/i915/gem: Check that the context wasn't closed during setup
394aeed8e20e drm/i915/gt: Prevent allocation on a banned context
8c5ed860c271 drm/i915/gt: Fix up missing error propagation for heartbeat pulses
74c461f64d41 drm/i915/execlists: Check the sentinel is alone in the ELSP
db917091f9b4 drm/i915/gt: Show the cumulative context runtime in engine debug

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16597/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH] drm/i915/gem: Consolidate ctx->engines[] release
  2020-02-18 12:51   ` [Intel-gfx] [PATCH] " Chris Wilson
@ 2020-02-18 13:57     ` Chris Wilson
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-18 13:57 UTC (permalink / raw)
  To: intel-gfx

Use the same engine_idle_release() routine for cleaning all old
ctx->engine[] state, closing any potential races with concurrent execbuf
submission.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/1241
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
Reorder set-closed/engine_idle_release to avoid premature killing
Take a reference to prevent racing context free with engine cleanup
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 190 ++++++++++----------
 1 file changed, 100 insertions(+), 90 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 3e82739bdbc0..99206ec45876 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -243,7 +243,6 @@ static void __free_engines(struct i915_gem_engines *e, unsigned int count)
 		if (!e->engines[count])
 			continue;
 
-		RCU_INIT_POINTER(e->engines[count]->gem_context, NULL);
 		intel_context_put(e->engines[count]);
 	}
 	kfree(e);
@@ -270,8 +269,6 @@ static struct i915_gem_engines *default_engines(struct i915_gem_context *ctx)
 	if (!e)
 		return ERR_PTR(-ENOMEM);
 
-	e->ctx = ctx;
-
 	for_each_engine(engine, gt, id) {
 		struct intel_context *ce;
 
@@ -305,7 +302,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
 	list_del(&ctx->link);
 	spin_unlock(&ctx->i915->gem.contexts.lock);
 
-	free_engines(rcu_access_pointer(ctx->engines));
 	mutex_destroy(&ctx->engines_mutex);
 
 	if (ctx->timeline)
@@ -492,30 +488,110 @@ static void kill_engines(struct i915_gem_engines *engines)
 static void kill_stale_engines(struct i915_gem_context *ctx)
 {
 	struct i915_gem_engines *pos, *next;
-	unsigned long flags;
 
-	spin_lock_irqsave(&ctx->stale.lock, flags);
+	spin_lock_irq(&ctx->stale.lock);
+	GEM_BUG_ON(!i915_gem_context_is_closed(ctx));
 	list_for_each_entry_safe(pos, next, &ctx->stale.engines, link) {
-		if (!i915_sw_fence_await(&pos->fence))
+		if (!i915_sw_fence_await(&pos->fence)) {
+			list_del_init(&pos->link);
 			continue;
+		}
 
-		spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		spin_unlock_irq(&ctx->stale.lock);
 
 		kill_engines(pos);
 
-		spin_lock_irqsave(&ctx->stale.lock, flags);
+		spin_lock_irq(&ctx->stale.lock);
+		GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence));
 		list_safe_reset_next(pos, next, link);
 		list_del_init(&pos->link); /* decouple from FENCE_COMPLETE */
 
 		i915_sw_fence_complete(&pos->fence);
 	}
-	spin_unlock_irqrestore(&ctx->stale.lock, flags);
+	spin_unlock_irq(&ctx->stale.lock);
 }
 
 static void kill_context(struct i915_gem_context *ctx)
 {
 	kill_stale_engines(ctx);
-	kill_engines(__context_engines_static(ctx));
+}
+
+static int engines_notify(struct i915_sw_fence *fence,
+			  enum i915_sw_fence_notify state)
+{
+	struct i915_gem_engines *engines =
+		container_of(fence, typeof(*engines), fence);
+
+	switch (state) {
+	case FENCE_COMPLETE:
+		if (!list_empty(&engines->link)) {
+			struct i915_gem_context *ctx = engines->ctx;
+			unsigned long flags;
+
+			spin_lock_irqsave(&ctx->stale.lock, flags);
+			list_del(&engines->link);
+			spin_unlock_irqrestore(&ctx->stale.lock, flags);
+		}
+		break;
+
+	case FENCE_FREE:
+		i915_gem_context_put(engines->ctx);
+		init_rcu_head(&engines->rcu);
+		call_rcu(&engines->rcu, free_engines_rcu);
+		break;
+	}
+
+	return NOTIFY_DONE;
+}
+
+static void engines_idle_release(struct i915_gem_context *ctx,
+				 struct i915_gem_engines *engines)
+{
+	struct i915_gem_engines_iter it;
+	struct intel_context *ce;
+
+	i915_sw_fence_init(&engines->fence, engines_notify);
+	INIT_LIST_HEAD(&engines->link);
+
+	engines->ctx = i915_gem_context_get(ctx);
+
+	for_each_gem_engine(ce, engines, it) {
+		int err = 0;
+
+		RCU_INIT_POINTER(ce->gem_context, NULL);
+
+		if (!ce->timeline) { /* XXX serialisation with execbuf? */
+			intel_context_set_banned(ce);
+			continue;
+		}
+
+		mutex_lock(&ce->timeline->mutex);
+		if (!list_empty(&ce->timeline->requests)) {
+			struct i915_request *rq;
+
+			rq = list_last_entry(&ce->timeline->requests,
+					     typeof(*rq),
+					     link);
+
+			err = i915_sw_fence_await_dma_fence(&engines->fence,
+							    &rq->fence, 0,
+							    GFP_KERNEL);
+		}
+		mutex_unlock(&ce->timeline->mutex);
+		if (err < 0)
+			goto kill;
+	}
+
+	spin_lock_irq(&engines->ctx->stale.lock);
+	if (!i915_gem_context_is_closed(engines->ctx))
+		list_add_tail(&engines->link, &engines->ctx->stale.engines);
+	spin_unlock_irq(&engines->ctx->stale.lock);
+
+kill:
+	if (list_empty(&engines->link)) /* raced, already closed */
+		kill_engines(engines);
+
+	i915_sw_fence_commit(&engines->fence);
 }
 
 static void set_closed_name(struct i915_gem_context *ctx)
@@ -539,11 +615,16 @@ static void context_close(struct i915_gem_context *ctx)
 {
 	struct i915_address_space *vm;
 
+	/* Flush any concurrent set_engines() */
+	mutex_lock(&ctx->engines_mutex);
+	engines_idle_release(ctx, rcu_replace_pointer(ctx->engines, NULL, 1));
 	i915_gem_context_set_closed(ctx);
-	set_closed_name(ctx);
+	mutex_unlock(&ctx->engines_mutex);
 
 	mutex_lock(&ctx->mutex);
 
+	set_closed_name(ctx);
+
 	vm = i915_gem_context_vm(ctx);
 	if (vm)
 		i915_vm_close(vm);
@@ -1562,77 +1643,6 @@ static const i915_user_extension_fn set_engines__extensions[] = {
 	[I915_CONTEXT_ENGINES_EXT_BOND] = set_engines__bond,
 };
 
-static int engines_notify(struct i915_sw_fence *fence,
-			  enum i915_sw_fence_notify state)
-{
-	struct i915_gem_engines *engines =
-		container_of(fence, typeof(*engines), fence);
-
-	switch (state) {
-	case FENCE_COMPLETE:
-		if (!list_empty(&engines->link)) {
-			struct i915_gem_context *ctx = engines->ctx;
-			unsigned long flags;
-
-			spin_lock_irqsave(&ctx->stale.lock, flags);
-			list_del(&engines->link);
-			spin_unlock_irqrestore(&ctx->stale.lock, flags);
-		}
-		break;
-
-	case FENCE_FREE:
-		init_rcu_head(&engines->rcu);
-		call_rcu(&engines->rcu, free_engines_rcu);
-		break;
-	}
-
-	return NOTIFY_DONE;
-}
-
-static void engines_idle_release(struct i915_gem_engines *engines)
-{
-	struct i915_gem_engines_iter it;
-	struct intel_context *ce;
-	unsigned long flags;
-
-	GEM_BUG_ON(!engines);
-	i915_sw_fence_init(&engines->fence, engines_notify);
-
-	INIT_LIST_HEAD(&engines->link);
-	spin_lock_irqsave(&engines->ctx->stale.lock, flags);
-	if (!i915_gem_context_is_closed(engines->ctx))
-		list_add(&engines->link, &engines->ctx->stale.engines);
-	spin_unlock_irqrestore(&engines->ctx->stale.lock, flags);
-	if (list_empty(&engines->link)) /* raced, already closed */
-		goto kill;
-
-	for_each_gem_engine(ce, engines, it) {
-		struct dma_fence *fence;
-		int err;
-
-		if (!ce->timeline)
-			continue;
-
-		fence = i915_active_fence_get(&ce->timeline->last_request);
-		if (!fence)
-			continue;
-
-		err = i915_sw_fence_await_dma_fence(&engines->fence,
-						    fence, 0,
-						    GFP_KERNEL);
-
-		dma_fence_put(fence);
-		if (err < 0)
-			goto kill;
-	}
-	goto out;
-
-kill:
-	kill_engines(engines);
-out:
-	i915_sw_fence_commit(&engines->fence);
-}
-
 static int
 set_engines(struct i915_gem_context *ctx,
 	    const struct drm_i915_gem_context_param *args)
@@ -1675,8 +1685,6 @@ set_engines(struct i915_gem_context *ctx,
 	if (!set.engines)
 		return -ENOMEM;
 
-	set.engines->ctx = ctx;
-
 	for (n = 0; n < num_engines; n++) {
 		struct i915_engine_class_instance ci;
 		struct intel_engine_cs *engine;
@@ -1729,6 +1737,11 @@ set_engines(struct i915_gem_context *ctx,
 
 replace:
 	mutex_lock(&ctx->engines_mutex);
+	if (i915_gem_context_is_closed(ctx)) {
+		mutex_unlock(&ctx->engines_mutex);
+		free_engines(set.engines);
+		return -ENOENT;
+	}
 	if (args->size)
 		i915_gem_context_set_user_engines(ctx);
 	else
@@ -1737,7 +1750,7 @@ set_engines(struct i915_gem_context *ctx,
 	mutex_unlock(&ctx->engines_mutex);
 
 	/* Keep track of old engine sets for kill_context() */
-	engines_idle_release(set.engines);
+	engines_idle_release(ctx, set.engines);
 
 	return 0;
 }
@@ -1995,8 +2008,6 @@ static int clone_engines(struct i915_gem_context *dst,
 	if (!clone)
 		goto err_unlock;
 
-	clone->ctx = dst;
-
 	for (n = 0; n < e->num_engines; n++) {
 		struct intel_engine_cs *engine;
 
@@ -2033,8 +2044,7 @@ static int clone_engines(struct i915_gem_context *dst,
 	i915_gem_context_unlock_engines(src);
 
 	/* Serialised by constructor */
-	free_engines(__context_engines_static(dst));
-	RCU_INIT_POINTER(dst->engines, clone);
+	engines_idle_release(dst, rcu_replace_pointer(dst->engines, clone, 1));
 	if (user_engines)
 		i915_gem_context_set_user_engines(dst);
 	else
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (8 preceding siblings ...)
  2020-02-18 13:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2020-02-18 19:51 ` Patchwork
  2020-02-18 20:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
  2020-02-20  7:00 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 19:51 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
URL   : https://patchwork.freedesktop.org/series/73567/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
e1dc2d81cb6a drm/i915/gt: Show the cumulative context runtime in engine debug
-:35: WARNING:LONG_LINE: line over 100 characters
#35: FILE: drivers/gpu/drm/i915/gt/intel_engine_cs.c:1393:
+						DIV_ROUND_CLOSEST_ULL(intel_context_get_total_runtime_ns(rq->context),

total: 0 errors, 1 warnings, 0 checks, 22 lines checked
f8058a6a339b drm/i915/execlists: Check the sentinel is alone in the ELSP
95d5a65c62ea drm/i915/gt: Fix up missing error propagation for heartbeat pulses
51a299b7d6d2 drm/i915/gt: Prevent allocation on a banned context
6e9aa6de237d drm/i915/gem: Check that the context wasn't closed during setup
540b8e659c60 drm/i915/gem: Consolidate ctx->engines[] release

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (9 preceding siblings ...)
  2020-02-18 19:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3) Patchwork
@ 2020-02-18 20:13 ` Patchwork
  2020-02-20  7:00 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-18 20:13 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
URL   : https://patchwork.freedesktop.org/series/73567/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7961 -> Patchwork_16598
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-hsw-peppy:       [PASS][1] -> [INCOMPLETE][2] ([i915#694] / [i915#816])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/fi-hsw-peppy/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/fi-hsw-peppy/igt@gem_close_race@basic-threads.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@module-reload:
    - fi-skl-guc:         [INCOMPLETE][3] ([i915#151]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/fi-skl-guc/igt@i915_pm_rpm@module-reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/fi-skl-guc/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cml-s:           [DMESG-FAIL][5] ([i915#877]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/fi-cml-s/igt@i915_selftest@live_gem_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/fi-cml-s/igt@i915_selftest@live_gem_contexts.html

  
  [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
  [i915#877]: https://gitlab.freedesktop.org/drm/intel/issues/877


Participating hosts (43 -> 36)
------------------------------

  Additional (5): fi-kbl-7500u fi-cfl-8109u fi-snb-2600 fi-skl-6600u fi-kbl-r 
  Missing    (12): fi-kbl-soraka fi-tgl-dsi fi-bsw-n3050 fi-hsw-4200u fi-bsw-cyan fi-ilk-650 fi-ctg-p8600 fi-gdg-551 fi-skl-lmem fi-byt-clapper fi-bsw-nick fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7961 -> Patchwork_16598

  CI-20190529: 20190529
  CI_DRM_7961: e922b318df45b82e75087ecfaceb998db2dd6213 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5448: 116020b1f83c1b3994c76882df7f77b6731d78ba @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16598: 540b8e659c60bd91b1740d50ea2c235b07a712c9 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

540b8e659c60 drm/i915/gem: Consolidate ctx->engines[] release
6e9aa6de237d drm/i915/gem: Check that the context wasn't closed during setup
51a299b7d6d2 drm/i915/gt: Prevent allocation on a banned context
95d5a65c62ea drm/i915/gt: Fix up missing error propagation for heartbeat pulses
f8058a6a339b drm/i915/execlists: Check the sentinel is alone in the ELSP
e1dc2d81cb6a drm/i915/gt: Show the cumulative context runtime in engine debug

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
  2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
                   ` (10 preceding siblings ...)
  2020-02-18 20:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-02-20  7:00 ` Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-20  7:00 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3)
URL   : https://patchwork.freedesktop.org/series/73567/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7961_full -> Patchwork_16598_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_16598_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_16598_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@mock_requests:
    - shard-tglb:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb2/igt@i915_selftest@mock_requests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb3/igt@i915_selftest@mock_requests.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-skl:          [PASS][3] -> [DMESG-WARN][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl5/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl4/igt@perf@gen8-unprivileged-single-ctx-counters.html
    - shard-iclb:         [PASS][5] -> [INCOMPLETE][6] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb5/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb3/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@runner@aborted:
    - shard-kbl:          NOTRUN -> ([FAIL][7], [FAIL][8]) ([fdo#103665] / [i915#873])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl4/igt@runner@aborted.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl3/igt@runner@aborted.html
    - shard-apl:          NOTRUN -> ([FAIL][9], [FAIL][10]) ([i915#873])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl6/igt@runner@aborted.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl7/igt@runner@aborted.html

  
#### Warnings ####

  * igt@perf@gen12-mi-rpc:
    - shard-tglb:         [TIMEOUT][11] ([fdo#112271] / [i915#1085]) -> [DMESG-FAIL][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb6/igt@perf@gen12-mi-rpc.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb5/igt@perf@gen12-mi-rpc.html

  * igt@runner@aborted:
    - shard-tglb:         [FAIL][13] ([i915#584]) -> ([FAIL][14], [FAIL][15])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb2/igt@runner@aborted.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb3/igt@runner@aborted.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb1/igt@runner@aborted.html

  
#### Suppressed ####

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

  * {igt@gem_ctx_persistence@close-replace-race}:
    - shard-kbl:          [FAIL][16] ([i915#1241]) -> [FAIL][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-kbl3/igt@gem_ctx_persistence@close-replace-race.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl6/igt@gem_ctx_persistence@close-replace-race.html
    - shard-glk:          [FAIL][18] ([i915#1241]) -> [FAIL][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk7/igt@gem_ctx_persistence@close-replace-race.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk2/igt@gem_ctx_persistence@close-replace-race.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-snb:          [PASS][20] -> [FAIL][21] ([i915#1148])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb6/igt@gem_ctx_exec@basic-nohangcheck.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb5/igt@gem_ctx_exec@basic-nohangcheck.html
    - shard-hsw:          [PASS][22] -> [FAIL][23] ([i915#1148])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw7/igt@gem_ctx_exec@basic-nohangcheck.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw6/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][24] -> [SKIP][25] ([fdo#110841])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_async@concurrent-writes-bsd:
    - shard-iclb:         [PASS][26] -> [SKIP][27] ([fdo#112146]) +7 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb3/igt@gem_exec_async@concurrent-writes-bsd.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html

  * igt@gem_exec_schedule@pi-common-bsd:
    - shard-iclb:         [PASS][28] -> [SKIP][29] ([i915#677])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb7/igt@gem_exec_schedule@pi-common-bsd.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb2/igt@gem_exec_schedule@pi-common-bsd.html

  * igt@gem_exec_schedule@promotion-bsd1:
    - shard-iclb:         [PASS][30] -> [SKIP][31] ([fdo#109276]) +22 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb2/igt@gem_exec_schedule@promotion-bsd1.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb8/igt@gem_exec_schedule@promotion-bsd1.html

  * igt@gem_partial_pwrite_pread@reads-display:
    - shard-hsw:          [PASS][32] -> [FAIL][33] ([i915#694])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw1/igt@gem_partial_pwrite_pread@reads-display.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw7/igt@gem_partial_pwrite_pread@reads-display.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][34] -> [DMESG-WARN][35] ([i915#180]) +4 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-apl3/igt@gem_workarounds@suspend-resume-context.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl1/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_pm_rpm@modeset-stress-extra-wait:
    - shard-glk:          [PASS][36] -> [DMESG-WARN][37] ([i915#118] / [i915#95])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk7/igt@i915_pm_rpm@modeset-stress-extra-wait.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html

  * igt@i915_selftest@mock_requests:
    - shard-snb:          [PASS][38] -> [INCOMPLETE][39] ([i915#82])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb6/igt@i915_selftest@mock_requests.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb6/igt@i915_selftest@mock_requests.html
    - shard-skl:          [PASS][40] -> [INCOMPLETE][41] ([i915#198])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl4/igt@i915_selftest@mock_requests.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl10/igt@i915_selftest@mock_requests.html
    - shard-glk:          [PASS][42] -> [INCOMPLETE][43] ([i915#58] / [k.org#198133]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk3/igt@i915_selftest@mock_requests.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk4/igt@i915_selftest@mock_requests.html
    - shard-kbl:          [PASS][44] -> [INCOMPLETE][45] ([fdo#103665]) +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-kbl6/igt@i915_selftest@mock_requests.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl4/igt@i915_selftest@mock_requests.html

  * igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing:
    - shard-hsw:          [PASS][46] -> [INCOMPLETE][47] ([i915#61]) +1 similar issue
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw1/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw7/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
    - shard-glk:          [PASS][48] -> [FAIL][49] ([i915#34])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-kbl:          [PASS][50] -> [DMESG-WARN][51] ([i915#180])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt:
    - shard-tglb:         [PASS][52] -> [SKIP][53] ([i915#668]) +5 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][54] -> [FAIL][55] ([fdo#108145] / [i915#265]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl8/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][56] -> [SKIP][57] ([fdo#109441]) +2 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@perf@gen12-unprivileged-single-ctx-counters:
    - shard-tglb:         [PASS][58] -> [INCOMPLETE][59] ([i915#756])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb7/igt@perf@gen12-unprivileged-single-ctx-counters.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb1/igt@perf@gen12-unprivileged-single-ctx-counters.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-apl:          [PASS][60] -> [INCOMPLETE][61] ([fdo#103927]) +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-apl2/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl6/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@perf_pmu@init-busy-vcs1:
    - shard-iclb:         [PASS][62] -> [SKIP][63] ([fdo#112080]) +20 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb1/igt@perf_pmu@init-busy-vcs1.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb6/igt@perf_pmu@init-busy-vcs1.html

  * igt@prime_mmap_coherency@ioctl-errors:
    - shard-hsw:          [PASS][64] -> [FAIL][65] ([i915#831])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw7/igt@prime_mmap_coherency@ioctl-errors.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw8/igt@prime_mmap_coherency@ioctl-errors.html

  
#### Possible fixes ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [SKIP][66] ([fdo#112080]) -> [PASS][67] +15 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb7/igt@gem_busy@busy-vcs1.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb2/igt@gem_busy@busy-vcs1.html

  * igt@gem_ctx_isolation@vecs0-s3:
    - shard-skl:          [INCOMPLETE][68] ([i915#69]) -> [PASS][69] +1 similar issue
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl7/igt@gem_ctx_isolation@vecs0-s3.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl8/igt@gem_ctx_isolation@vecs0-s3.html

  * {igt@gem_ctx_persistence@close-replace-race}:
    - shard-tglb:         [FAIL][70] ([i915#1241]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb5/igt@gem_ctx_persistence@close-replace-race.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb2/igt@gem_ctx_persistence@close-replace-race.html
    - shard-apl:          [FAIL][72] ([i915#1241]) -> [PASS][73]
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-apl1/igt@gem_ctx_persistence@close-replace-race.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl3/igt@gem_ctx_persistence@close-replace-race.html

  * igt@gem_eio@in-flight-suspend:
    - shard-kbl:          [INCOMPLETE][74] ([fdo#103665]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-kbl4/igt@gem_eio@in-flight-suspend.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl1/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [SKIP][76] ([i915#677]) -> [PASS][77] +3 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb4/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb6/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][78] ([fdo#109276]) -> [PASS][79] +25 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb8/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb4/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][80] ([fdo#112146]) -> [PASS][81] +7 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb6/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * {igt@gem_exec_whisper@basic-queues-forked}:
    - shard-tglb:         [INCOMPLETE][82] -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-tglb6/igt@gem_exec_whisper@basic-queues-forked.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-tglb3/igt@gem_exec_whisper@basic-queues-forked.html
    - shard-glk:          [INCOMPLETE][84] ([i915#58] / [k.org#198133]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk1/igt@gem_exec_whisper@basic-queues-forked.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk1/igt@gem_exec_whisper@basic-queues-forked.html

  * igt@gen7_exec_parse@basic-offset:
    - shard-hsw:          [FAIL][86] ([i915#694]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw8/igt@gen7_exec_parse@basic-offset.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw7/igt@gen7_exec_parse@basic-offset.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][88] ([i915#180]) -> [PASS][89] +2 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-glk:          [FAIL][90] ([i915#34]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-glk9/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-apl:          [DMESG-WARN][92] ([i915#180]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-apl6/igt@kms_flip@flip-vs-suspend.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl3/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-skl:          [FAIL][94] ([i915#49]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * {igt@kms_hdr@bpc-switch-suspend}:
    - shard-skl:          [FAIL][96] ([i915#1188]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl7/igt@kms_hdr@bpc-switch-suspend.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl9/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [FAIL][98] ([fdo#108145]) -> [PASS][99] +1 similar issue
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][100] ([fdo#109441]) -> [PASS][101] +2 similar issues
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][102] ([i915#31]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-apl7/igt@kms_setmode@basic.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-apl7/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [FAIL][104] ([IGT#28]) -> [SKIP][105] ([fdo#112080]) +1 similar issue
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][106] ([fdo#109349]) -> [DMESG-WARN][107] ([i915#1226])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-iclb3/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@runner@aborted:
    - shard-hsw:          [FAIL][108] ([i915#1176]) -> ([FAIL][109], [FAIL][110]) ([i915#1176] / [i915#873])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-hsw5/igt@runner@aborted.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw5/igt@runner@aborted.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-hsw1/igt@runner@aborted.html
    - shard-snb:          ([FAIL][111], [FAIL][112], [FAIL][113], [FAIL][114], [FAIL][115], [FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119]) ([fdo#111870] / [i915#1077]) -> ([FAIL][120], [FAIL][121], [FAIL][122], [FAIL][123], [FAIL][124], [FAIL][125], [FAIL][126], [FAIL][127], [FAIL][128], [FAIL][129]) ([fdo#111870] / [i915#1077] / [i915#873])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb4/igt@runner@aborted.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb5/igt@runner@aborted.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb4/igt@runner@aborted.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb5/igt@runner@aborted.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb6/igt@runner@aborted.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb1/igt@runner@aborted.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb5/igt@runner@aborted.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb2/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7961/shard-snb5/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb4/igt@runner@aborted.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb4/igt@runner@aborted.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb4/igt@runner@aborted.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb6/igt@runner@aborted.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb7/igt@runner@aborted.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb4/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb7/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb6/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb2/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16598/shard-snb4/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).

  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1077]: https://gitlab.freedesktop.org/drm/intel/issues/1077
  [i915#1085]: https://gitlab.freedesktop.org/drm/intel/issues/1085
  [i915#1148]: https://gitlab.freedesktop.org/drm/intel/issues/1148
  [i915#1176]: https://gitlab.freedesktop.org/drm/intel/issues/1176
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
  [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
  [i915#1241]: https://gitlab.freedesktop.org/drm/intel/issues/1241
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#584]: https://gitlab.freedesktop.org/drm/intel/issues/584
  [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
  [i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#756]: https://gitlab.freedesktop.org/drm/intel/issues/756
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831
  [i915#873]: https://gitlab.freedesktop.org/drm/intel/issues/873
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7961 -> Patchwork_16598

  CI-20190529: 20190529
  CI_DRM_7961: e922b318df45b82e75087ecfaceb998db2dd6213 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5448: 116020b1f83c1b3994c76882df7f77b6731d78ba @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16598: 540b8e659c60bd91b1740d50ea2c235b07a712c9 @ 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_16598/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2020-02-20  7:00 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-18 11:16 [Intel-gfx] [PATCH 1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Chris Wilson
2020-02-18 11:16 ` [Intel-gfx] [PATCH 2/6] drm/i915/execlists: Check the sentinel is alone in the ELSP Chris Wilson
2020-02-18 11:16 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Fix up missing error propagation for heartbeat pulses Chris Wilson
2020-02-18 11:16 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Prevent allocation on a banned context Chris Wilson
2020-02-18 11:16 ` [Intel-gfx] [PATCH 5/6] drm/i915/gem: Check that the context wasn't closed during setup Chris Wilson
2020-02-18 11:16 ` [Intel-gfx] [PATCH 6/6] drm/i915/gem: Consolidate ctx->engines[] release Chris Wilson
2020-02-18 12:51   ` [Intel-gfx] [PATCH] " Chris Wilson
2020-02-18 13:57     ` Chris Wilson
2020-02-18 11:41 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug Patchwork
2020-02-18 12:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-02-18 13:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev2) Patchwork
2020-02-18 13:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-02-18 19:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/gt: Show the cumulative context runtime in engine debug (rev3) Patchwork
2020-02-18 20:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-20  7:00 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.