All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-27 11:13 ` Chris Wilson
  0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-27 11:13 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

If we do find that the current context has completed its last request,
that does not imply that all requests are completed in the context, so
only advance the ring->head up to the end of the known completions!

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..60472b83afa1 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
-	struct i915_request *active = NULL;
+	struct i915_request *active = rq;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
-
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
-	list_for_each_entry_from_reverse(rq, list, link) {
+	list_for_each_entry_continue_reverse(rq, list, link) {
 		if (i915_request_completed(rq))
 			break;
 
-		if (rq->hw_context != ce)
-			break;
-
 		active = rq;
 	}
 	rcu_read_unlock();
@@ -1073,6 +1066,7 @@ static void reset_active(struct i915_request *rq,
 			 struct intel_engine_cs *engine)
 {
 	struct intel_context * const ce = rq->hw_context;
+	u32 head;
 
 	/*
 	 * The executing context has been cancelled. We want to prevent
@@ -1093,11 +1087,11 @@ static void reset_active(struct i915_request *rq,
 		  __func__, engine->name, rq->fence.context, rq->fence.seqno);
 
 	/* On resubmission of the active request, payload will be scrubbed */
-	rq = active_request(rq);
-	if (rq)
-		ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	if (i915_request_completed(rq))
+		head = rq->tail;
 	else
-		ce->ring->head = ce->ring->tail;
+		head = active_request(rq)->head;
+	ce->ring->head = intel_ring_wrap(ce->ring, head);
 	intel_ring_update_space(ce->ring);
 
 	/* Scrub the context image to prevent replaying the previous batch */
@@ -2990,16 +2984,17 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	ce = rq->hw_context;
 	GEM_BUG_ON(!i915_vma_is_pinned(ce->state));
 
-	rq = active_request(rq);
-	if (!rq) {
+	if (i915_request_completed(rq)) {
 		/* Idle context; tidy up the ring so we can restart afresh */
-		ce->ring->head = ce->ring->tail;
+		ce->ring->head = intel_ring_wrap(ce->ring, rq->tail);
 		goto out_replay;
 	}
 
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
+	rq = active_request(rq);
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3038,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

* [Intel-gfx] [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-27 11:13 ` Chris Wilson
  0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-27 11:13 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

If we do find that the current context has completed its last request,
that does not imply that all requests are completed in the context, so
only advance the ring->head up to the end of the known completions!

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..60472b83afa1 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
-	struct i915_request *active = NULL;
+	struct i915_request *active = rq;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
-
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
-	list_for_each_entry_from_reverse(rq, list, link) {
+	list_for_each_entry_continue_reverse(rq, list, link) {
 		if (i915_request_completed(rq))
 			break;
 
-		if (rq->hw_context != ce)
-			break;
-
 		active = rq;
 	}
 	rcu_read_unlock();
@@ -1073,6 +1066,7 @@ static void reset_active(struct i915_request *rq,
 			 struct intel_engine_cs *engine)
 {
 	struct intel_context * const ce = rq->hw_context;
+	u32 head;
 
 	/*
 	 * The executing context has been cancelled. We want to prevent
@@ -1093,11 +1087,11 @@ static void reset_active(struct i915_request *rq,
 		  __func__, engine->name, rq->fence.context, rq->fence.seqno);
 
 	/* On resubmission of the active request, payload will be scrubbed */
-	rq = active_request(rq);
-	if (rq)
-		ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	if (i915_request_completed(rq))
+		head = rq->tail;
 	else
-		ce->ring->head = ce->ring->tail;
+		head = active_request(rq)->head;
+	ce->ring->head = intel_ring_wrap(ce->ring, head);
 	intel_ring_update_space(ce->ring);
 
 	/* Scrub the context image to prevent replaying the previous batch */
@@ -2990,16 +2984,17 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	ce = rq->hw_context;
 	GEM_BUG_ON(!i915_vma_is_pinned(ce->state));
 
-	rq = active_request(rq);
-	if (!rq) {
+	if (i915_request_completed(rq)) {
 		/* Idle context; tidy up the ring so we can restart afresh */
-		ce->ring->head = ce->ring->tail;
+		ce->ring->head = intel_ring_wrap(ce->ring, rq->tail);
 		goto out_replay;
 	}
 
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
+	rq = active_request(rq);
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3038,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

* ✓ Fi.CI.BAT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
@ 2019-10-27 11:51   ` Patchwork
  0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-10-27 11:51 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
URL   : https://patchwork.freedesktop.org/series/68601/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7194 -> Patchwork_15008
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-apl-guc:         [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-apl-guc/igt@gem_ctx_create@basic-files.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-apl-guc/igt@gem_ctx_create@basic-files.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][3] -> [FAIL][4] ([fdo#111407])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [PASS][5] -> [DMESG-WARN][6] ([fdo#102614])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  * igt@prime_busy@basic-wait-after-default:
    - fi-icl-u3:          [PASS][7] -> [DMESG-WARN][8] ([fdo#107724]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-icl-u3/igt@prime_busy@basic-wait-after-default.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-icl-u3/igt@prime_busy@basic-wait-after-default.html

  
#### Possible fixes ####

  * igt@gem_exec_fence@basic-wait-default:
    - fi-icl-u3:          [DMESG-WARN][9] ([fdo#107724]) -> [PASS][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-icl-u3/igt@gem_exec_fence@basic-wait-default.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-icl-u3/igt@gem_exec_fence@basic-wait-default.html

  * igt@i915_selftest@live_hangcheck:
    - {fi-tgl-u}:         [INCOMPLETE][11] ([fdo#111747]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-tgl-u/igt@i915_selftest@live_hangcheck.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-tgl-u/igt@i915_selftest@live_hangcheck.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747


Participating hosts (49 -> 41)
------------------------------

  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-tgl-u2 fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7194 -> Patchwork_15008

  CI-20190529: 20190529
  CI_DRM_7194: 5d2161b339033a7eb2d11eef17c5780b44edd996 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5244: 5eef4d167c00031709751f12bd77a42a1b74ac67 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15008: 60a5edc0acc69b84e13221c48635ed347ff1fd02 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

60a5edc0acc6 drm/i915/execlists: Simply walk back along request timeline on reset

== Logs ==

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

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
@ 2019-10-27 11:51   ` Patchwork
  0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-10-27 11:51 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
URL   : https://patchwork.freedesktop.org/series/68601/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7194 -> Patchwork_15008
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-apl-guc:         [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-apl-guc/igt@gem_ctx_create@basic-files.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-apl-guc/igt@gem_ctx_create@basic-files.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][3] -> [FAIL][4] ([fdo#111407])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [PASS][5] -> [DMESG-WARN][6] ([fdo#102614])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  * igt@prime_busy@basic-wait-after-default:
    - fi-icl-u3:          [PASS][7] -> [DMESG-WARN][8] ([fdo#107724]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-icl-u3/igt@prime_busy@basic-wait-after-default.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-icl-u3/igt@prime_busy@basic-wait-after-default.html

  
#### Possible fixes ####

  * igt@gem_exec_fence@basic-wait-default:
    - fi-icl-u3:          [DMESG-WARN][9] ([fdo#107724]) -> [PASS][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-icl-u3/igt@gem_exec_fence@basic-wait-default.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-icl-u3/igt@gem_exec_fence@basic-wait-default.html

  * igt@i915_selftest@live_hangcheck:
    - {fi-tgl-u}:         [INCOMPLETE][11] ([fdo#111747]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/fi-tgl-u/igt@i915_selftest@live_hangcheck.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/fi-tgl-u/igt@i915_selftest@live_hangcheck.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747


Participating hosts (49 -> 41)
------------------------------

  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-tgl-u2 fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7194 -> Patchwork_15008

  CI-20190529: 20190529
  CI_DRM_7194: 5d2161b339033a7eb2d11eef17c5780b44edd996 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5244: 5eef4d167c00031709751f12bd77a42a1b74ac67 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15008: 60a5edc0acc69b84e13221c48635ed347ff1fd02 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

60a5edc0acc6 drm/i915/execlists: Simply walk back along request timeline on reset

== Logs ==

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

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

* Re: [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-28 12:39   ` Joonas Lahtinen
  0 siblings, 0 replies; 12+ messages in thread
From: Joonas Lahtinen @ 2019-10-28 12:39 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Quoting Chris Wilson (2019-10-27 13:13:09)
> The request's timeline will only contain requests from this context, in
> order of execution. Therefore, we can simply look back along this
> timeline to find the currently executing request.
> 
> If we do find that the current context has completed its last request,
> that does not imply that all requests are completed in the context, so
> only advance the ring->head up to the end of the known completions!
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

<SNIP>

> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq)
>  
>  static struct i915_request *active_request(struct i915_request *rq)
>  {
> -       const struct intel_context * const ce = rq->hw_context;
> -       struct i915_request *active = NULL;
> +       struct i915_request *active = rq;
>         struct list_head *list;
>  
> -       if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
> -               return rq;
> -

Especially now with the above removed, the fact that we're only
really interested in the timeline becomes bit obscure. Passing in
a timeline would be more logical.

Either way:

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

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

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

* Re: [Intel-gfx] [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-28 12:39   ` Joonas Lahtinen
  0 siblings, 0 replies; 12+ messages in thread
From: Joonas Lahtinen @ 2019-10-28 12:39 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Quoting Chris Wilson (2019-10-27 13:13:09)
> The request's timeline will only contain requests from this context, in
> order of execution. Therefore, we can simply look back along this
> timeline to find the currently executing request.
> 
> If we do find that the current context has completed its last request,
> that does not imply that all requests are completed in the context, so
> only advance the ring->head up to the end of the known completions!
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

<SNIP>

> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq)
>  
>  static struct i915_request *active_request(struct i915_request *rq)
>  {
> -       const struct intel_context * const ce = rq->hw_context;
> -       struct i915_request *active = NULL;
> +       struct i915_request *active = rq;
>         struct list_head *list;
>  
> -       if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
> -               return rq;
> -

Especially now with the above removed, the fact that we're only
really interested in the timeline becomes bit obscure. Passing in
a timeline would be more logical.

Either way:

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

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

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

* ✓ Fi.CI.IGT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
@ 2019-10-28 13:12   ` Patchwork
  0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-10-28 13:12 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
URL   : https://patchwork.freedesktop.org/series/68601/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7194_full -> Patchwork_15008_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Suppressed ####

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

  * {igt@gem_exec_suspend@basic-s0}:
    - {shard-tglb}:       NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb2/igt@gem_exec_suspend@basic-s0.html

  * igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled:
    - {shard-tglb}:       [PASS][2] -> [INCOMPLETE][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb1/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-invalid-context-vcs1:
    - shard-iclb:         [PASS][4] -> [SKIP][5] ([fdo#112080]) +7 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb4/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_ctx_exec@basic-invalid-context-vcs1.html

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][6] -> [DMESG-WARN][7] ([fdo#108566]) +5 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-kbl3/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_isolation@vcs1-dirty-create:
    - shard-iclb:         [PASS][8] -> [SKIP][9] ([fdo#109276] / [fdo#112080]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb4/igt@gem_ctx_isolation@vcs1-dirty-create.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_ctx_isolation@vcs1-dirty-create.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#112146]) +2 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb5/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_userptr_blits@sync-unmap:
    - shard-snb:          [PASS][12] -> [DMESG-WARN][13] ([fdo#111870])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-snb2/igt@gem_userptr_blits@sync-unmap.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-snb4/igt@gem_userptr_blits@sync-unmap.html

  * igt@kms_color@pipe-b-ctm-green-to-red:
    - shard-skl:          [PASS][14] -> [DMESG-WARN][15] ([fdo#106107])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl10/igt@kms_color@pipe-b-ctm-green-to-red.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl1/igt@kms_color@pipe-b-ctm-green-to-red.html

  * igt@kms_flip@2x-plain-flip-ts-check:
    - shard-glk:          [PASS][16] -> [FAIL][17] ([fdo#100368])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-glk5/igt@kms_flip@2x-plain-flip-ts-check.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-glk9/igt@kms_flip@2x-plain-flip-ts-check.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-apl:          [PASS][18] -> [INCOMPLETE][19] ([fdo#103927]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-badstride:
    - shard-iclb:         [PASS][20] -> [FAIL][21] ([fdo#103167]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-badstride.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-badstride.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [PASS][22] -> [DMESG-WARN][23] ([fdo#108566])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][24] -> [FAIL][25] ([fdo#108145] / [fdo#110403])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl8/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [PASS][26] -> [SKIP][27] ([fdo#109441]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [PASS][28] -> [SKIP][29] ([fdo#109276]) +11 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb2/igt@prime_busy@hang-bsd2.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb5/igt@prime_busy@hang-bsd2.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@vcs1-reset:
    - shard-iclb:         [SKIP][30] ([fdo#109276] / [fdo#112080]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@gem_ctx_isolation@vcs1-reset.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@gem_ctx_isolation@vcs1-reset.html

  * igt@gem_ctx_switch@vcs1-heavy:
    - shard-iclb:         [SKIP][32] ([fdo#112080]) -> [PASS][33] +8 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb3/igt@gem_ctx_switch@vcs1-heavy.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb4/igt@gem_ctx_switch@vcs1-heavy.html

  * igt@gem_exec_schedule@independent-bsd2:
    - shard-iclb:         [SKIP][34] ([fdo#109276]) -> [PASS][35] +14 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@gem_exec_schedule@independent-bsd2.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb1/igt@gem_exec_schedule@independent-bsd2.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][36] ([fdo#112146]) -> [PASS][37] +4 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_sync@basic-all:
    - {shard-tglb}:       [INCOMPLETE][38] ([fdo#111647]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb6/igt@gem_sync@basic-all.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb4/igt@gem_sync@basic-all.html

  * igt@gem_userptr_blits@sync-unmap-cycles:
    - shard-hsw:          [DMESG-WARN][40] ([fdo#111870]) -> [PASS][41] +1 similar issue
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw2/igt@gem_userptr_blits@sync-unmap-cycles.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@gem_userptr_blits@sync-unmap-cycles.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][42] ([fdo#108566]) -> [PASS][43] +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl1/igt@gem_workarounds@suspend-resume-context.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl4/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_selftest@live_hangcheck:
    - shard-hsw:          [DMESG-FAIL][44] ([fdo#111991]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw6/igt@i915_selftest@live_hangcheck.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@i915_selftest@live_hangcheck.html

  * igt@i915_selftest@mock_requests:
    - shard-glk:          [DMESG-WARN][46] -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-glk3/igt@i915_selftest@mock_requests.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-glk7/igt@i915_selftest@mock_requests.html

  * igt@kms_atomic_interruptible@atomic-setmode:
    - shard-iclb:         [INCOMPLETE][48] ([fdo#107713]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@kms_atomic_interruptible@atomic-setmode.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb4/igt@kms_atomic_interruptible@atomic-setmode.html

  * igt@kms_busy@extended-modeset-hang-oldfb-render-d:
    - {shard-tglb}:       [INCOMPLETE][50] ([fdo#111747]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb3/igt@kms_busy@extended-modeset-hang-oldfb-render-d.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb5/igt@kms_busy@extended-modeset-hang-oldfb-render-d.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-hsw:          [INCOMPLETE][52] ([fdo#103540]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw2/igt@kms_flip@2x-flip-vs-suspend.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [INCOMPLETE][54] ([fdo#109507]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl7/igt@kms_flip@flip-vs-suspend.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl8/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-iclb:         [FAIL][56] ([fdo#103167]) -> [PASS][57] +4 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc:
    - {shard-tglb}:       [FAIL][58] ([fdo#103167]) -> [PASS][59] +4 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-kbl:          [DMESG-WARN][60] ([fdo#108566]) -> [PASS][61] +4 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][62] ([fdo#108145]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][64] ([fdo#109441]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - {shard-tglb}:       [INCOMPLETE][66] ([fdo#111832] / [fdo#111850]) -> [PASS][67] +2 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@perf_pmu@busy-idle-no-semaphores-vcs1:
    - {shard-tglb}:       [TIMEOUT][68] ([fdo#112126]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@perf_pmu@busy-idle-no-semaphores-vcs1.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb8/igt@perf_pmu@busy-idle-no-semaphores-vcs1.html

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

  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647
  [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
  [fdo#111703]: https://bugs.freedesktop.org/show_bug.cgi?id=111703
  [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111830 ]: https://bugs.freedesktop.org/show_bug.cgi?id=111830 
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111865]: https://bugs.freedesktop.org/show_bug.cgi?id=111865
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#111884]: https://bugs.freedesktop.org/show_bug.cgi?id=111884
  [fdo#111991]: https://bugs.freedesktop.org/show_bug.cgi?id=111991
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112126]: https://bugs.freedesktop.org/show_bug.cgi?id=112126
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146


Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7194 -> Patchwork_15008

  CI-20190529: 20190529
  CI_DRM_7194: 5d2161b339033a7eb2d11eef17c5780b44edd996 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5244: 5eef4d167c00031709751f12bd77a42a1b74ac67 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15008: 60a5edc0acc69b84e13221c48635ed347ff1fd02 @ 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_15008/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
@ 2019-10-28 13:12   ` Patchwork
  0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-10-28 13:12 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/execlists: Simply walk back along request timeline on reset (rev5)
URL   : https://patchwork.freedesktop.org/series/68601/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7194_full -> Patchwork_15008_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Suppressed ####

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

  * {igt@gem_exec_suspend@basic-s0}:
    - {shard-tglb}:       NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb2/igt@gem_exec_suspend@basic-s0.html

  * igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled:
    - {shard-tglb}:       [PASS][2] -> [INCOMPLETE][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb1/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-invalid-context-vcs1:
    - shard-iclb:         [PASS][4] -> [SKIP][5] ([fdo#112080]) +7 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb4/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_ctx_exec@basic-invalid-context-vcs1.html

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][6] -> [DMESG-WARN][7] ([fdo#108566]) +5 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-kbl3/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_isolation@vcs1-dirty-create:
    - shard-iclb:         [PASS][8] -> [SKIP][9] ([fdo#109276] / [fdo#112080]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb4/igt@gem_ctx_isolation@vcs1-dirty-create.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_ctx_isolation@vcs1-dirty-create.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#112146]) +2 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb5/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_userptr_blits@sync-unmap:
    - shard-snb:          [PASS][12] -> [DMESG-WARN][13] ([fdo#111870])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-snb2/igt@gem_userptr_blits@sync-unmap.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-snb4/igt@gem_userptr_blits@sync-unmap.html

  * igt@kms_color@pipe-b-ctm-green-to-red:
    - shard-skl:          [PASS][14] -> [DMESG-WARN][15] ([fdo#106107])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl10/igt@kms_color@pipe-b-ctm-green-to-red.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl1/igt@kms_color@pipe-b-ctm-green-to-red.html

  * igt@kms_flip@2x-plain-flip-ts-check:
    - shard-glk:          [PASS][16] -> [FAIL][17] ([fdo#100368])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-glk5/igt@kms_flip@2x-plain-flip-ts-check.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-glk9/igt@kms_flip@2x-plain-flip-ts-check.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-apl:          [PASS][18] -> [INCOMPLETE][19] ([fdo#103927]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-badstride:
    - shard-iclb:         [PASS][20] -> [FAIL][21] ([fdo#103167]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-badstride.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-badstride.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [PASS][22] -> [DMESG-WARN][23] ([fdo#108566])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][24] -> [FAIL][25] ([fdo#108145] / [fdo#110403])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl8/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [PASS][26] -> [SKIP][27] ([fdo#109441]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [PASS][28] -> [SKIP][29] ([fdo#109276]) +11 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb2/igt@prime_busy@hang-bsd2.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb5/igt@prime_busy@hang-bsd2.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@vcs1-reset:
    - shard-iclb:         [SKIP][30] ([fdo#109276] / [fdo#112080]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@gem_ctx_isolation@vcs1-reset.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@gem_ctx_isolation@vcs1-reset.html

  * igt@gem_ctx_switch@vcs1-heavy:
    - shard-iclb:         [SKIP][32] ([fdo#112080]) -> [PASS][33] +8 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb3/igt@gem_ctx_switch@vcs1-heavy.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb4/igt@gem_ctx_switch@vcs1-heavy.html

  * igt@gem_exec_schedule@independent-bsd2:
    - shard-iclb:         [SKIP][34] ([fdo#109276]) -> [PASS][35] +14 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@gem_exec_schedule@independent-bsd2.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb1/igt@gem_exec_schedule@independent-bsd2.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][36] ([fdo#112146]) -> [PASS][37] +4 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb8/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_sync@basic-all:
    - {shard-tglb}:       [INCOMPLETE][38] ([fdo#111647]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb6/igt@gem_sync@basic-all.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb4/igt@gem_sync@basic-all.html

  * igt@gem_userptr_blits@sync-unmap-cycles:
    - shard-hsw:          [DMESG-WARN][40] ([fdo#111870]) -> [PASS][41] +1 similar issue
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw2/igt@gem_userptr_blits@sync-unmap-cycles.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@gem_userptr_blits@sync-unmap-cycles.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][42] ([fdo#108566]) -> [PASS][43] +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-apl1/igt@gem_workarounds@suspend-resume-context.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-apl4/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_selftest@live_hangcheck:
    - shard-hsw:          [DMESG-FAIL][44] ([fdo#111991]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw6/igt@i915_selftest@live_hangcheck.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@i915_selftest@live_hangcheck.html

  * igt@i915_selftest@mock_requests:
    - shard-glk:          [DMESG-WARN][46] -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-glk3/igt@i915_selftest@mock_requests.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-glk7/igt@i915_selftest@mock_requests.html

  * igt@kms_atomic_interruptible@atomic-setmode:
    - shard-iclb:         [INCOMPLETE][48] ([fdo#107713]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@kms_atomic_interruptible@atomic-setmode.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb4/igt@kms_atomic_interruptible@atomic-setmode.html

  * igt@kms_busy@extended-modeset-hang-oldfb-render-d:
    - {shard-tglb}:       [INCOMPLETE][50] ([fdo#111747]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb3/igt@kms_busy@extended-modeset-hang-oldfb-render-d.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb5/igt@kms_busy@extended-modeset-hang-oldfb-render-d.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-hsw:          [INCOMPLETE][52] ([fdo#103540]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-hsw2/igt@kms_flip@2x-flip-vs-suspend.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-hsw6/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [INCOMPLETE][54] ([fdo#109507]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl7/igt@kms_flip@flip-vs-suspend.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl8/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-iclb:         [FAIL][56] ([fdo#103167]) -> [PASS][57] +4 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc:
    - {shard-tglb}:       [FAIL][58] ([fdo#103167]) -> [PASS][59] +4 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-kbl:          [DMESG-WARN][60] ([fdo#108566]) -> [PASS][61] +4 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][62] ([fdo#108145]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][64] ([fdo#109441]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - {shard-tglb}:       [INCOMPLETE][66] ([fdo#111832] / [fdo#111850]) -> [PASS][67] +2 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@perf_pmu@busy-idle-no-semaphores-vcs1:
    - {shard-tglb}:       [TIMEOUT][68] ([fdo#112126]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7194/shard-tglb8/igt@perf_pmu@busy-idle-no-semaphores-vcs1.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15008/shard-tglb8/igt@perf_pmu@busy-idle-no-semaphores-vcs1.html

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

  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647
  [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
  [fdo#111703]: https://bugs.freedesktop.org/show_bug.cgi?id=111703
  [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111830 ]: https://bugs.freedesktop.org/show_bug.cgi?id=111830 
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111865]: https://bugs.freedesktop.org/show_bug.cgi?id=111865
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#111884]: https://bugs.freedesktop.org/show_bug.cgi?id=111884
  [fdo#111991]: https://bugs.freedesktop.org/show_bug.cgi?id=111991
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112126]: https://bugs.freedesktop.org/show_bug.cgi?id=112126
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146


Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7194 -> Patchwork_15008

  CI-20190529: 20190529
  CI_DRM_7194: 5d2161b339033a7eb2d11eef17c5780b44edd996 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5244: 5eef4d167c00031709751f12bd77a42a1b74ac67 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15008: 60a5edc0acc69b84e13221c48635ed347ff1fd02 @ 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_15008/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-27  9:55 Chris Wilson
  0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-27  9:55 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

If we do find that the current context has completed its last request,
that does not imply that all requests are completed in the context, so
only advance the ring->head up to the end of the known completions!

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..c9ee0408479c 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,27 +252,18 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
-	struct i915_request *active = NULL;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
-
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
 	list_for_each_entry_from_reverse(rq, list, link) {
 		if (i915_request_completed(rq))
 			break;
-
-		if (rq->hw_context != ce)
-			break;
-
-		active = rq;
 	}
 	rcu_read_unlock();
 
-	return active;
+	GEM_BUG_ON(i915_request_completed(rq));
+	return rq;
 }
 
 static inline u32 intel_hws_preempt_address(struct intel_engine_cs *engine)
@@ -1073,6 +1064,7 @@ static void reset_active(struct i915_request *rq,
 			 struct intel_engine_cs *engine)
 {
 	struct intel_context * const ce = rq->hw_context;
+	u32 head;
 
 	/*
 	 * The executing context has been cancelled. We want to prevent
@@ -1093,11 +1085,11 @@ static void reset_active(struct i915_request *rq,
 		  __func__, engine->name, rq->fence.context, rq->fence.seqno);
 
 	/* On resubmission of the active request, payload will be scrubbed */
-	rq = active_request(rq);
-	if (rq)
-		ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	if (i915_request_completed(rq))
+		head = rq->tail;
 	else
-		ce->ring->head = ce->ring->tail;
+		head = active_request(rq)->head;
+	ce->ring->head = intel_ring_wrap(ce->ring, head);
 	intel_ring_update_space(ce->ring);
 
 	/* Scrub the context image to prevent replaying the previous batch */
@@ -2990,16 +2982,17 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	ce = rq->hw_context;
 	GEM_BUG_ON(!i915_vma_is_pinned(ce->state));
 
-	rq = active_request(rq);
-	if (!rq) {
+	if (i915_request_completed(rq)) {
 		/* Idle context; tidy up the ring so we can restart afresh */
-		ce->ring->head = ce->ring->tail;
+		ce->ring->head = intel_ring_wrap(ce->ring, rq->tail);
 		goto out_replay;
 	}
 
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
+	rq = active_request(rq);
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3036,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

* [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
  2019-10-26 18:35 Chris Wilson
  2019-10-26 18:47 ` Chris Wilson
@ 2019-10-26 18:52 ` Chris Wilson
  1 sibling, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-26 18:52 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..1f39a921afc0 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
 	struct i915_request *active = NULL;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
-
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
 	list_for_each_entry_from_reverse(rq, list, link) {
 		if (i915_request_completed(rq))
 			break;
 
-		if (rq->hw_context != ce)
-			break;
-
 		active = rq;
 	}
 	rcu_read_unlock();
@@ -3000,6 +2993,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3037,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

* [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
  2019-10-26 18:35 Chris Wilson
@ 2019-10-26 18:47 ` Chris Wilson
  2019-10-26 18:52 ` Chris Wilson
  1 sibling, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-26 18:47 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..ef6dc6afd135 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,22 +252,16 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
 	struct i915_request *active = NULL;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
-
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
 	list_for_each_entry_from_reverse(rq, list, link) {
 		if (i915_request_completed(rq))
 			break;
 
-		if (rq->hw_context != ce)
-			break;
-
+		GEM_BUG_ON(!i915_request_is_active(rq));
 		active = rq;
 	}
 	rcu_read_unlock();
@@ -3000,6 +2994,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3038,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

* [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset
@ 2019-10-26 18:35 Chris Wilson
  2019-10-26 18:47 ` Chris Wilson
  2019-10-26 18:52 ` Chris Wilson
  0 siblings, 2 replies; 12+ messages in thread
From: Chris Wilson @ 2019-10-26 18:35 UTC (permalink / raw)
  To: intel-gfx

The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

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

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 16340740139d..bdadb41663c1 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -252,12 +252,11 @@ static void mark_eio(struct i915_request *rq)
 
 static struct i915_request *active_request(struct i915_request *rq)
 {
-	const struct intel_context * const ce = rq->hw_context;
 	struct i915_request *active = NULL;
 	struct list_head *list;
 
-	if (!i915_request_is_active(rq)) /* unwound, but incomplete! */
-		return rq;
+	if (!i915_request_is_active(rq))
+		return NULL;
 
 	rcu_read_lock();
 	list = &rcu_dereference(rq->timeline)->requests;
@@ -265,9 +264,7 @@ static struct i915_request *active_request(struct i915_request *rq)
 		if (i915_request_completed(rq))
 			break;
 
-		if (rq->hw_context != ce)
-			break;
-
+		GEM_BUG_ON(!i915_request_is_active(rq));
 		active = rq;
 	}
 	rcu_read_unlock();
@@ -3000,6 +2997,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	/* Context has requests still in-flight; it should not be idle! */
 	GEM_BUG_ON(i915_active_is_idle(&ce->active));
 	ce->ring->head = intel_ring_wrap(ce->ring, rq->head);
+	GEM_BUG_ON(ce->ring->head == ce->ring->tail);
 
 	/*
 	 * If this request hasn't started yet, e.g. it is waiting on a
@@ -3043,7 +3041,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
 	restore_default_state(ce, engine);
 
 out_replay:
-	GEM_TRACE("%s replay {head:%04x, tail:%04x\n",
+	GEM_TRACE("%s replay {head:%04x, tail:%04x}\n",
 		  engine->name, ce->ring->head, ce->ring->tail);
 	intel_ring_update_space(ce->ring);
 	__execlists_reset_reg_state(ce, engine);
-- 
2.24.0.rc1

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

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

end of thread, other threads:[~2019-10-28 13:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-27 11:13 [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset Chris Wilson
2019-10-27 11:13 ` [Intel-gfx] " Chris Wilson
2019-10-27 11:51 ` ✓ Fi.CI.BAT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5) Patchwork
2019-10-27 11:51   ` [Intel-gfx] " Patchwork
2019-10-28 12:39 ` [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset Joonas Lahtinen
2019-10-28 12:39   ` [Intel-gfx] " Joonas Lahtinen
2019-10-28 13:12 ` ✓ Fi.CI.IGT: success for drm/i915/execlists: Simply walk back along request timeline on reset (rev5) Patchwork
2019-10-28 13:12   ` [Intel-gfx] " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-10-27  9:55 [PATCH] drm/i915/execlists: Simply walk back along request timeline on reset Chris Wilson
2019-10-26 18:35 Chris Wilson
2019-10-26 18:47 ` Chris Wilson
2019-10-26 18:52 ` Chris Wilson

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.