intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active
@ 2019-10-09 10:09 Chris Wilson
  2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 10:09 UTC (permalink / raw)
  To: intel-gfx

Now that we dropped the engine->active.lock serialisation from around
process_csb(), direct submission can run concurrently to the interrupt
handler. As such execlists->active may be advanced as we dequeue,
dropping the reference to the request. We need to employ our RCU request
protection to ensure that the request is not freed too early.

Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 6db762c509b8..7ea58335f04c 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1289,7 +1289,7 @@ static void virtual_xfer_breadcrumbs(struct virtual_engine *ve,
 static struct i915_request *
 last_active(const struct intel_engine_execlists *execlists)
 {
-	struct i915_request * const *last = execlists->active;
+	struct i915_request * const *last = READ_ONCE(execlists->active);
 
 	while (*last && i915_request_completed(*last))
 		last++;
@@ -1981,8 +1981,11 @@ static void process_csb(struct intel_engine_cs *engine)
 static void __execlists_submission_tasklet(struct intel_engine_cs *const engine)
 {
 	lockdep_assert_held(&engine->active.lock);
-	if (!engine->execlists.pending[0])
+	if (!engine->execlists.pending[0]) {
+		rcu_read_lock(); /* protect peeking at execlists->active */
 		execlists_dequeue(engine);
+		rcu_read_unlock();
+	}
 }
 
 /*
-- 
2.23.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

* [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
@ 2019-10-09 10:09 ` Chris Wilson
  2019-10-09 10:26   ` [PATCH] " Chris Wilson
  2019-10-09 16:09   ` [PATCH v2] " Chris Wilson
  2019-10-09 15:27 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev2) Patchwork
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 10:09 UTC (permalink / raw)
  To: intel-gfx

The active/pending execlists is no longer protected by the
engine->active.lock, but is serialised by the tasklet instead. Update
the locking around the debug and stats to follow suit.

Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
 drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 5aa1371f6a0f..464c725ca743 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1245,9 +1245,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 					 struct drm_printer *m)
 {
 	struct drm_i915_private *dev_priv = engine->i915;
-	const struct intel_engine_execlists * const execlists =
-		&engine->execlists;
-	unsigned long flags;
+	struct intel_engine_execlists * const execlists = &engine->execlists;
 	u64 addr;
 
 	if (engine->id == RENDER_CLASS && IS_GEN_RANGE(dev_priv, 4, 7))
@@ -1329,7 +1327,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 				   idx, hws[idx * 2], hws[idx * 2 + 1]);
 		}
 
-		spin_lock_irqsave(&engine->active.lock, flags);
+		tasklet_lock(&execlists->tasklet);
 		for (port = execlists->active; (rq = *port); port++) {
 			char hdr[80];
 			int len;
@@ -1367,7 +1365,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 			if (tl)
 				intel_timeline_put(tl);
 		}
-		spin_unlock_irqrestore(&engine->active.lock, flags);
+		tasklet_unlock(&execlists->tasklet);
 	} else if (INTEL_GEN(dev_priv) > 6) {
 		drm_printf(m, "\tPP_DIR_BASE: 0x%08x\n",
 			   ENGINE_READ(engine, RING_PP_DIR_BASE));
@@ -1509,8 +1507,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	if (!intel_engine_supports_stats(engine))
 		return -ENODEV;
 
-	spin_lock_irqsave(&engine->active.lock, flags);
-	write_seqlock(&engine->stats.lock);
+	tasklet_lock(&execlists->tasklet);
+	write_seqlock_irqsave(&engine->stats.lock, flags);
 
 	if (unlikely(engine->stats.enabled == ~0)) {
 		err = -EBUSY;
@@ -1538,8 +1536,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	}
 
 unlock:
-	write_sequnlock(&engine->stats.lock);
-	spin_unlock_irqrestore(&engine->active.lock, flags);
+	write_sequnlock_irqrestore(&engine->stats.lock, flags);
+	tasklet_unlock(&execlists->tasklet);
 
 	return err;
 }
diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index 167a7b56ed5b..6795f1daa3d5 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -77,6 +77,12 @@ struct drm_i915_private;
 
 #define I915_GEM_IDLE_TIMEOUT (HZ / 5)
 
+static inline void tasklet_lock(struct tasklet_struct *t)
+{
+	while (!tasklet_trylock(t))
+		cpu_relax();
+}
+
 static inline void __tasklet_disable_sync_once(struct tasklet_struct *t)
 {
 	if (!atomic_fetch_inc(&t->count))
-- 
2.23.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

* [PATCH] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
@ 2019-10-09 10:26   ` Chris Wilson
  2019-10-09 15:53     ` Tvrtko Ursulin
  2019-10-09 16:09   ` [PATCH v2] " Chris Wilson
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 10:26 UTC (permalink / raw)
  To: intel-gfx

The active/pending execlists is no longer protected by the
engine->active.lock, but is serialised by the tasklet instead. Update
the locking around the debug and stats to follow suit.

Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
Wrap the tasklet_lock inside execlists_active_lock() to help clarify
what it is meant to be protecting.
---
 drivers/gpu/drm/i915/gt/intel_engine.h    | 12 ++++++++++++
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
 drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
 3 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
index d624752f2a92..c99910c4eeb9 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine.h
@@ -136,6 +136,18 @@ execlists_active(const struct intel_engine_execlists *execlists)
 	return READ_ONCE(*execlists->active);
 }
 
+static inline void
+execlists_active_lock(struct intel_engine_execlists *execlists)
+{
+	tasklet_lock(&execlists->tasklet);
+}
+
+static inline void
+execlists_active_unlock(struct intel_engine_execlists *execlists)
+{
+	tasklet_unlock(&execlists->tasklet);
+}
+
 struct i915_request *
 execlists_unwind_incomplete_requests(struct intel_engine_execlists *execlists);
 
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 5aa1371f6a0f..45b708fc4b52 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1245,9 +1245,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 					 struct drm_printer *m)
 {
 	struct drm_i915_private *dev_priv = engine->i915;
-	const struct intel_engine_execlists * const execlists =
-		&engine->execlists;
-	unsigned long flags;
+	struct intel_engine_execlists * const execlists = &engine->execlists;
 	u64 addr;
 
 	if (engine->id == RENDER_CLASS && IS_GEN_RANGE(dev_priv, 4, 7))
@@ -1329,7 +1327,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 				   idx, hws[idx * 2], hws[idx * 2 + 1]);
 		}
 
-		spin_lock_irqsave(&engine->active.lock, flags);
+		execlists_active_lock(execlists);
 		for (port = execlists->active; (rq = *port); port++) {
 			char hdr[80];
 			int len;
@@ -1367,7 +1365,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 			if (tl)
 				intel_timeline_put(tl);
 		}
-		spin_unlock_irqrestore(&engine->active.lock, flags);
+		execlists_active_unlock(execlists);
 	} else if (INTEL_GEN(dev_priv) > 6) {
 		drm_printf(m, "\tPP_DIR_BASE: 0x%08x\n",
 			   ENGINE_READ(engine, RING_PP_DIR_BASE));
@@ -1509,8 +1507,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	if (!intel_engine_supports_stats(engine))
 		return -ENODEV;
 
-	spin_lock_irqsave(&engine->active.lock, flags);
-	write_seqlock(&engine->stats.lock);
+	execlists_active_lock(execlists);
+	write_seqlock_irqsave(&engine->stats.lock, flags);
 
 	if (unlikely(engine->stats.enabled == ~0)) {
 		err = -EBUSY;
@@ -1538,8 +1536,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	}
 
 unlock:
-	write_sequnlock(&engine->stats.lock);
-	spin_unlock_irqrestore(&engine->active.lock, flags);
+	write_sequnlock_irqrestore(&engine->stats.lock, flags);
+	execlists_active_unlock(execlists);
 
 	return err;
 }
diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index 167a7b56ed5b..6795f1daa3d5 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -77,6 +77,12 @@ struct drm_i915_private;
 
 #define I915_GEM_IDLE_TIMEOUT (HZ / 5)
 
+static inline void tasklet_lock(struct tasklet_struct *t)
+{
+	while (!tasklet_trylock(t))
+		cpu_relax();
+}
+
 static inline void __tasklet_disable_sync_once(struct tasklet_struct *t)
 {
 	if (!atomic_fetch_inc(&t->count))
-- 
2.23.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

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev2)
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
  2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
@ 2019-10-09 15:27 ` Patchwork
  2019-10-09 15:38 ` [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Tvrtko Ursulin
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-10-09 15:27 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev2)
URL   : https://patchwork.freedesktop.org/series/67782/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7042 -> Patchwork_14724
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-bxt-dsi:         [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-bxt-dsi/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-bxt-dsi/igt@gem_close_race@basic-threads.html

  
#### Possible fixes ####

  * igt@gem_close_race@basic-process:
    - {fi-icl-u4}:        [INCOMPLETE][3] ([fdo#107713]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-icl-u4/igt@gem_close_race@basic-process.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-icl-u4/igt@gem_close_race@basic-process.html

  * igt@gem_ctx_create@basic-files:
    - {fi-icl-guc}:       [INCOMPLETE][5] ([fdo#107713] / [fdo#109100]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-icl-guc/igt@gem_ctx_create@basic-files.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-icl-guc/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-glk-dsi:         [INCOMPLETE][7] ([fdo#103359] / [k.org#198133]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-glk-dsi/igt@gem_exec_suspend@basic-s3.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-glk-dsi/igt@gem_exec_suspend@basic-s3.html

  * {igt@i915_selftest@live_gt_timelines}:
    - {fi-tgl-u2}:        [INCOMPLETE][9] ([fdo#111831]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-tgl-u2/igt@i915_selftest@live_gt_timelines.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-tgl-u2/igt@i915_selftest@live_gt_timelines.html

  
#### Warnings ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][11] ([fdo#111045] / [fdo#111096]) -> [FAIL][12] ([fdo#111407])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7042/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

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

  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111831]: https://bugs.freedesktop.org/show_bug.cgi?id=111831
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (54 -> 46)
------------------------------

  Additional (1): fi-apl-guc 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-u3 fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7042 -> Patchwork_14724

  CI-20190529: 20190529
  CI_DRM_7042: 22c41b8242975f09144e6f9eebc58ad357fbb8bc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5219: e501741f2e2b086a8c55d9f278c630ce68ad5fe1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14724: 25955aa7472466e46147cf4ea04fe90dc5af3a4b @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

25955aa74724 drm/i915/gt: execlists->active is serialised by the tasklet
c02988fb116f drm/i915/execlists: Protect peeking at execlists->active

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14724/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

* Re: [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
  2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
  2019-10-09 15:27 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev2) Patchwork
@ 2019-10-09 15:38 ` Tvrtko Ursulin
  2019-10-09 17:41 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev3) Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Tvrtko Ursulin @ 2019-10-09 15:38 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx


On 09/10/2019 11:09, Chris Wilson wrote:
> Now that we dropped the engine->active.lock serialisation from around
> process_csb(), direct submission can run concurrently to the interrupt
> handler. As such execlists->active may be advanced as we dequeue,
> dropping the reference to the request. We need to employ our RCU request
> protection to ensure that the request is not freed too early.
> 
> Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_lrc.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 6db762c509b8..7ea58335f04c 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -1289,7 +1289,7 @@ static void virtual_xfer_breadcrumbs(struct virtual_engine *ve,
>   static struct i915_request *
>   last_active(const struct intel_engine_execlists *execlists)
>   {
> -	struct i915_request * const *last = execlists->active;
> +	struct i915_request * const *last = READ_ONCE(execlists->active);
>   
>   	while (*last && i915_request_completed(*last))
>   		last++;
> @@ -1981,8 +1981,11 @@ static void process_csb(struct intel_engine_cs *engine)
>   static void __execlists_submission_tasklet(struct intel_engine_cs *const engine)
>   {
>   	lockdep_assert_held(&engine->active.lock);
> -	if (!engine->execlists.pending[0])
> +	if (!engine->execlists.pending[0]) {
> +		rcu_read_lock(); /* protect peeking at execlists->active */
>   		execlists_dequeue(engine);
> +		rcu_read_unlock();
> +	}
>   }
>   
>   /*
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
_______________________________________________
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

* Re: [PATCH] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 10:26   ` [PATCH] " Chris Wilson
@ 2019-10-09 15:53     ` Tvrtko Ursulin
  2019-10-09 15:59       ` Chris Wilson
  0 siblings, 1 reply; 15+ messages in thread
From: Tvrtko Ursulin @ 2019-10-09 15:53 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx


On 09/10/2019 11:26, Chris Wilson wrote:
> The active/pending execlists is no longer protected by the
> engine->active.lock, but is serialised by the tasklet instead. Update
> the locking around the debug and stats to follow suit.
> 
> Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> Wrap the tasklet_lock inside execlists_active_lock() to help clarify
> what it is meant to be protecting.
> ---
>   drivers/gpu/drm/i915/gt/intel_engine.h    | 12 ++++++++++++
>   drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
>   drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
>   3 files changed, 25 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
> index d624752f2a92..c99910c4eeb9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine.h
> +++ b/drivers/gpu/drm/i915/gt/intel_engine.h
> @@ -136,6 +136,18 @@ execlists_active(const struct intel_engine_execlists *execlists)
>   	return READ_ONCE(*execlists->active);
>   }
>   
> +static inline void
> +execlists_active_lock(struct intel_engine_execlists *execlists)
> +{
> +	tasklet_lock(&execlists->tasklet);
> +}
> +
> +static inline void
> +execlists_active_unlock(struct intel_engine_execlists *execlists)
> +{
> +	tasklet_unlock(&execlists->tasklet);
> +}

After we stop preventing the tasklet from running should we maybe kick 
ksoftirqd? I am thinking if a tasklet gets scheduled and ran during us 
holding the lock here, it won't lose the "scheduled" status, but not 
sure at what next opportunity it would get re-run.

> +
>   struct i915_request *
>   execlists_unwind_incomplete_requests(struct intel_engine_execlists *execlists);
>   
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 5aa1371f6a0f..45b708fc4b52 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -1245,9 +1245,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
>   					 struct drm_printer *m)
>   {
>   	struct drm_i915_private *dev_priv = engine->i915;
> -	const struct intel_engine_execlists * const execlists =
> -		&engine->execlists;
> -	unsigned long flags;
> +	struct intel_engine_execlists * const execlists = &engine->execlists;
>   	u64 addr;
>   
>   	if (engine->id == RENDER_CLASS && IS_GEN_RANGE(dev_priv, 4, 7))
> @@ -1329,7 +1327,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
>   				   idx, hws[idx * 2], hws[idx * 2 + 1]);
>   		}
>   
> -		spin_lock_irqsave(&engine->active.lock, flags);
> +		execlists_active_lock(execlists);
>   		for (port = execlists->active; (rq = *port); port++) {
>   			char hdr[80];
>   			int len;
> @@ -1367,7 +1365,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
>   			if (tl)
>   				intel_timeline_put(tl);
>   		}
> -		spin_unlock_irqrestore(&engine->active.lock, flags);
> +		execlists_active_unlock(execlists);
>   	} else if (INTEL_GEN(dev_priv) > 6) {
>   		drm_printf(m, "\tPP_DIR_BASE: 0x%08x\n",
>   			   ENGINE_READ(engine, RING_PP_DIR_BASE));
> @@ -1509,8 +1507,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
>   	if (!intel_engine_supports_stats(engine))
>   		return -ENODEV;
>   
> -	spin_lock_irqsave(&engine->active.lock, flags);
> -	write_seqlock(&engine->stats.lock);
> +	execlists_active_lock(execlists);
> +	write_seqlock_irqsave(&engine->stats.lock, flags);
>   
>   	if (unlikely(engine->stats.enabled == ~0)) {
>   		err = -EBUSY;
> @@ -1538,8 +1536,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
>   	}
>   
>   unlock:
> -	write_sequnlock(&engine->stats.lock);
> -	spin_unlock_irqrestore(&engine->active.lock, flags);
> +	write_sequnlock_irqrestore(&engine->stats.lock, flags);
> +	execlists_active_unlock(execlists);
>   
>   	return err;
>   }
> diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
> index 167a7b56ed5b..6795f1daa3d5 100644
> --- a/drivers/gpu/drm/i915/i915_gem.h
> +++ b/drivers/gpu/drm/i915/i915_gem.h
> @@ -77,6 +77,12 @@ struct drm_i915_private;
>   
>   #define I915_GEM_IDLE_TIMEOUT (HZ / 5)
>   
> +static inline void tasklet_lock(struct tasklet_struct *t)
> +{
> +	while (!tasklet_trylock(t))
> +		cpu_relax();
> +}
> +
>   static inline void __tasklet_disable_sync_once(struct tasklet_struct *t)
>   {
>   	if (!atomic_fetch_inc(&t->count))
> 

Regards,

Tvrtko
_______________________________________________
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

* Re: [PATCH] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 15:53     ` Tvrtko Ursulin
@ 2019-10-09 15:59       ` Chris Wilson
  2019-10-09 16:37         ` Tvrtko Ursulin
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 15:59 UTC (permalink / raw)
  To: Tvrtko Ursulin, intel-gfx

Quoting Tvrtko Ursulin (2019-10-09 16:53:53)
> 
> On 09/10/2019 11:26, Chris Wilson wrote:
> > +static inline void
> > +execlists_active_lock(struct intel_engine_execlists *execlists)
> > +{
> > +     tasklet_lock(&execlists->tasklet);
> > +}
> > +
> > +static inline void
> > +execlists_active_unlock(struct intel_engine_execlists *execlists)
> > +{
> > +     tasklet_unlock(&execlists->tasklet);
> > +}
> 
> After we stop preventing the tasklet from running should we maybe kick 
> ksoftirqd? I am thinking if a tasklet gets scheduled and ran during us 
> holding the lock here, it won't lose the "scheduled" status, but not 
> sure at what next opportunity it would get re-run.

If we call tasklet_schedule() while we hold tasklet_lock, ksoftirqd (on
another thread, hmm, we need local_bh_disable() to stop ourselves
entering the softirq processing), then that tasklet_action will spin on
tasklet_trylock.
-Chris
_______________________________________________
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

* [PATCH v2] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
  2019-10-09 10:26   ` [PATCH] " Chris Wilson
@ 2019-10-09 16:09   ` Chris Wilson
  2019-10-09 16:32     ` Chris Wilson
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 16:09 UTC (permalink / raw)
  To: intel-gfx

The active/pending execlists is no longer protected by the
engine->active.lock, but is serialised by the tasklet instead. Update
the locking around the debug and stats to follow suit.

v2: local_bh_disable() to prevent recursing into the tasklet in case we
trigger a softirq (Tvrtko)

Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine.h    | 14 ++++++++++++++
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
 drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
 3 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
index d624752f2a92..fa770d3ca208 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine.h
@@ -136,6 +136,20 @@ execlists_active(const struct intel_engine_execlists *execlists)
 	return READ_ONCE(*execlists->active);
 }
 
+static inline void
+execlists_active_lock(struct intel_engine_execlists *execlists)
+{
+	local_bh_disable(); /* prevent local softirq and lock recursion */
+	tasklet_lock(&execlists->tasklet);
+}
+
+static inline void
+execlists_active_unlock(struct intel_engine_execlists *execlists)
+{
+	tasklet_unlock(&execlists->tasklet);
+	local_bh_enable(); /* restore softirq, and kick ksoftirqd! */
+}
+
 struct i915_request *
 execlists_unwind_incomplete_requests(struct intel_engine_execlists *execlists);
 
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 5aa1371f6a0f..45b708fc4b52 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1245,9 +1245,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 					 struct drm_printer *m)
 {
 	struct drm_i915_private *dev_priv = engine->i915;
-	const struct intel_engine_execlists * const execlists =
-		&engine->execlists;
-	unsigned long flags;
+	struct intel_engine_execlists * const execlists = &engine->execlists;
 	u64 addr;
 
 	if (engine->id == RENDER_CLASS && IS_GEN_RANGE(dev_priv, 4, 7))
@@ -1329,7 +1327,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 				   idx, hws[idx * 2], hws[idx * 2 + 1]);
 		}
 
-		spin_lock_irqsave(&engine->active.lock, flags);
+		execlists_active_lock(execlists);
 		for (port = execlists->active; (rq = *port); port++) {
 			char hdr[80];
 			int len;
@@ -1367,7 +1365,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 			if (tl)
 				intel_timeline_put(tl);
 		}
-		spin_unlock_irqrestore(&engine->active.lock, flags);
+		execlists_active_unlock(execlists);
 	} else if (INTEL_GEN(dev_priv) > 6) {
 		drm_printf(m, "\tPP_DIR_BASE: 0x%08x\n",
 			   ENGINE_READ(engine, RING_PP_DIR_BASE));
@@ -1509,8 +1507,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	if (!intel_engine_supports_stats(engine))
 		return -ENODEV;
 
-	spin_lock_irqsave(&engine->active.lock, flags);
-	write_seqlock(&engine->stats.lock);
+	execlists_active_lock(execlists);
+	write_seqlock_irqsave(&engine->stats.lock, flags);
 
 	if (unlikely(engine->stats.enabled == ~0)) {
 		err = -EBUSY;
@@ -1538,8 +1536,8 @@ int intel_enable_engine_stats(struct intel_engine_cs *engine)
 	}
 
 unlock:
-	write_sequnlock(&engine->stats.lock);
-	spin_unlock_irqrestore(&engine->active.lock, flags);
+	write_sequnlock_irqrestore(&engine->stats.lock, flags);
+	execlists_active_unlock(execlists);
 
 	return err;
 }
diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index 167a7b56ed5b..6795f1daa3d5 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -77,6 +77,12 @@ struct drm_i915_private;
 
 #define I915_GEM_IDLE_TIMEOUT (HZ / 5)
 
+static inline void tasklet_lock(struct tasklet_struct *t)
+{
+	while (!tasklet_trylock(t))
+		cpu_relax();
+}
+
 static inline void __tasklet_disable_sync_once(struct tasklet_struct *t)
 {
 	if (!atomic_fetch_inc(&t->count))
-- 
2.23.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

* Re: [PATCH v2] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 16:09   ` [PATCH v2] " Chris Wilson
@ 2019-10-09 16:32     ` Chris Wilson
  2019-10-09 16:59       ` Tvrtko Ursulin
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 16:32 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2019-10-09 17:09:06)
> The active/pending execlists is no longer protected by the
> engine->active.lock, but is serialised by the tasklet instead. Update
> the locking around the debug and stats to follow suit.
> 
> v2: local_bh_disable() to prevent recursing into the tasklet in case we
> trigger a softirq (Tvrtko)
> 
> Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_engine.h    | 14 ++++++++++++++
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
>  drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
>  3 files changed, 27 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
> index d624752f2a92..fa770d3ca208 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine.h
> +++ b/drivers/gpu/drm/i915/gt/intel_engine.h
> @@ -136,6 +136,20 @@ execlists_active(const struct intel_engine_execlists *execlists)
>         return READ_ONCE(*execlists->active);
>  }
>  
> +static inline void
> +execlists_active_lock(struct intel_engine_execlists *execlists)

execlists_active_bh_lock() to include the clue about bh_disable?

> +{
> +       local_bh_disable(); /* prevent local softirq and lock recursion */
> +       tasklet_lock(&execlists->tasklet);
> +}
_______________________________________________
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

* Re: [PATCH] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 15:59       ` Chris Wilson
@ 2019-10-09 16:37         ` Tvrtko Ursulin
  2019-10-09 17:07           ` Chris Wilson
  0 siblings, 1 reply; 15+ messages in thread
From: Tvrtko Ursulin @ 2019-10-09 16:37 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx


On 09/10/2019 16:59, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2019-10-09 16:53:53)
>>
>> On 09/10/2019 11:26, Chris Wilson wrote:
>>> +static inline void
>>> +execlists_active_lock(struct intel_engine_execlists *execlists)
>>> +{
>>> +     tasklet_lock(&execlists->tasklet);
>>> +}
>>> +
>>> +static inline void
>>> +execlists_active_unlock(struct intel_engine_execlists *execlists)
>>> +{
>>> +     tasklet_unlock(&execlists->tasklet);
>>> +}
>>
>> After we stop preventing the tasklet from running should we maybe kick
>> ksoftirqd? I am thinking if a tasklet gets scheduled and ran during us
>> holding the lock here, it won't lose the "scheduled" status, but not
>> sure at what next opportunity it would get re-run.
> 
> If we call tasklet_schedule() while we hold tasklet_lock, ksoftirqd (on
> another thread, hmm, we need local_bh_disable() to stop ourselves
> entering the softirq processing), then that tasklet_action will spin on
> tasklet_trylock.

I don't see it spinning, I see it unlinking the tasklet is trylock fails 
and going onto the next one. So even what I implied before seems wrong - 
it doesn't look like it would get re-run on next tasklet processing run. 
Where do you see the retry?

Regards,

Tvrtko


_______________________________________________
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

* Re: [PATCH v2] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 16:32     ` Chris Wilson
@ 2019-10-09 16:59       ` Tvrtko Ursulin
  0 siblings, 0 replies; 15+ messages in thread
From: Tvrtko Ursulin @ 2019-10-09 16:59 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx


On 09/10/2019 17:32, Chris Wilson wrote:
> Quoting Chris Wilson (2019-10-09 17:09:06)
>> The active/pending execlists is no longer protected by the
>> engine->active.lock, but is serialised by the tasklet instead. Update
>> the locking around the debug and stats to follow suit.
>>
>> v2: local_bh_disable() to prevent recursing into the tasklet in case we
>> trigger a softirq (Tvrtko)
>>
>> Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> ---
>>   drivers/gpu/drm/i915/gt/intel_engine.h    | 14 ++++++++++++++
>>   drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +++++++---------
>>   drivers/gpu/drm/i915/i915_gem.h           |  6 ++++++
>>   3 files changed, 27 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
>> index d624752f2a92..fa770d3ca208 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_engine.h
>> +++ b/drivers/gpu/drm/i915/gt/intel_engine.h
>> @@ -136,6 +136,20 @@ execlists_active(const struct intel_engine_execlists *execlists)
>>          return READ_ONCE(*execlists->active);
>>   }
>>   
>> +static inline void
>> +execlists_active_lock(struct intel_engine_execlists *execlists)
> 
> execlists_active_bh_lock() to include the clue about bh_disable?

Makes sense. Or execlists_active_lock_bh to match the spin_lock_bh.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko

>> +{
>> +       local_bh_disable(); /* prevent local softirq and lock recursion */
>> +       tasklet_lock(&execlists->tasklet);
>> +}
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
_______________________________________________
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

* Re: [PATCH] drm/i915/gt: execlists->active is serialised by the tasklet
  2019-10-09 16:37         ` Tvrtko Ursulin
@ 2019-10-09 17:07           ` Chris Wilson
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2019-10-09 17:07 UTC (permalink / raw)
  To: Tvrtko Ursulin, intel-gfx

Quoting Tvrtko Ursulin (2019-10-09 17:37:42)
> 
> On 09/10/2019 16:59, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-10-09 16:53:53)
> >>
> >> On 09/10/2019 11:26, Chris Wilson wrote:
> >>> +static inline void
> >>> +execlists_active_lock(struct intel_engine_execlists *execlists)
> >>> +{
> >>> +     tasklet_lock(&execlists->tasklet);
> >>> +}
> >>> +
> >>> +static inline void
> >>> +execlists_active_unlock(struct intel_engine_execlists *execlists)
> >>> +{
> >>> +     tasklet_unlock(&execlists->tasklet);
> >>> +}
> >>
> >> After we stop preventing the tasklet from running should we maybe kick
> >> ksoftirqd? I am thinking if a tasklet gets scheduled and ran during us
> >> holding the lock here, it won't lose the "scheduled" status, but not
> >> sure at what next opportunity it would get re-run.
> > 
> > If we call tasklet_schedule() while we hold tasklet_lock, ksoftirqd (on
> > another thread, hmm, we need local_bh_disable() to stop ourselves
> > entering the softirq processing), then that tasklet_action will spin on
> > tasklet_trylock.
> 
> I don't see it spinning, I see it unlinking the tasklet is trylock fails 
> and going onto the next one. So even what I implied before seems wrong - 
> it doesn't look like it would get re-run on next tasklet processing run. 
> Where do you see the retry?

It puts it back onto the list of taskets to run. Then sees it still has
tasklets to run and reschedules itself.

tasklet_action_common:
	1. sets list of pending tasklets to NULL
	2. iterates over current list
	3. if not executed (trylock failed, or disabled) then appends
	   the tasklet to the list of pending for next time, and
	   re-raises the softirq, thereby rescheduling the
	   softirq/ksoftirqd.

-Chris
_______________________________________________
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

* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev3)
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
                   ` (2 preceding siblings ...)
  2019-10-09 15:38 ` [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Tvrtko Ursulin
@ 2019-10-09 17:41 ` Patchwork
  2019-10-09 20:03 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4) Patchwork
  2019-10-10  3:24 ` ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-10-09 17:41 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev3)
URL   : https://patchwork.freedesktop.org/series/67782/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7043 -> Patchwork_14729
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_14729 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_14729, 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_14729/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_hangcheck:
    - fi-hsw-4770r:       [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-hsw-4770r/igt@i915_selftest@live_hangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-hsw-4770r/igt@i915_selftest@live_hangcheck.html

  * igt@i915_selftest@live_workarounds:
    - fi-skl-6600u:       [PASS][3] -> [DMESG-FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-skl-6600u/igt@i915_selftest@live_workarounds.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-skl-6600u/igt@i915_selftest@live_workarounds.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_flink_basic@double-flink:
    - fi-icl-u3:          [PASS][5] -> [DMESG-WARN][6] ([fdo#107724]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-icl-u3/igt@gem_flink_basic@double-flink.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-icl-u3/igt@gem_flink_basic@double-flink.html

  * igt@kms_busy@basic-flip-b:
    - fi-icl-u3:          [PASS][7] -> [DMESG-WARN][8] ([fdo#106107])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-icl-u3/igt@kms_busy@basic-flip-b.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-icl-u3/igt@kms_busy@basic-flip-b.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@basic-copy:
    - fi-icl-u3:          [DMESG-WARN][9] ([fdo#107724]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-icl-u3/igt@gem_mmap_gtt@basic-copy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-icl-u3/igt@gem_mmap_gtt@basic-copy.html

  * igt@gem_sync@basic-many-each:
    - {fi-tgl-u}:         [INCOMPLETE][11] ([fdo#111880]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-tgl-u/igt@gem_sync@basic-many-each.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/fi-tgl-u/igt@gem_sync@basic-many-each.html

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

  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647
  [fdo#111880]: https://bugs.freedesktop.org/show_bug.cgi?id=111880


Participating hosts (54 -> 46)
------------------------------

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


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7043 -> Patchwork_14729

  CI-20190529: 20190529
  CI_DRM_7043: ed6c47dff498138cd3494c95a107c5787094b0b9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5219: e501741f2e2b086a8c55d9f278c630ce68ad5fe1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14729: b21ed3cf220918131ef5e2092535758dd0441f3c @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b21ed3cf2209 drm/i915/gt: execlists->active is serialised by the tasklet
108ed38692d3 drm/i915/execlists: Protect peeking at execlists->active

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14729/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

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4)
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
                   ` (3 preceding siblings ...)
  2019-10-09 17:41 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev3) Patchwork
@ 2019-10-09 20:03 ` Patchwork
  2019-10-10  3:24 ` ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-10-09 20:03 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4)
URL   : https://patchwork.freedesktop.org/series/67782/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7044 -> Patchwork_14731
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_selftest@live_execlists:
    - fi-cfl-8109u:       [PASS][3] -> [INCOMPLETE][4] ([fdo#110977])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/fi-cfl-8109u/igt@i915_selftest@live_execlists.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/fi-cfl-8109u/igt@i915_selftest@live_execlists.html

  
#### Possible fixes ####

  * igt@gem_ctx_param@basic:
    - fi-icl-u3:          [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6] +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/fi-icl-u3/igt@gem_ctx_param@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/fi-icl-u3/igt@gem_ctx_param@basic.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       [INCOMPLETE][7] ([fdo#107718]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/fi-blb-e6850/igt@gem_exec_suspend@basic-s4-devices.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/fi-blb-e6850/igt@gem_exec_suspend@basic-s4-devices.html

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

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

  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#110977]: https://bugs.freedesktop.org/show_bug.cgi?id=110977
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111833]: https://bugs.freedesktop.org/show_bug.cgi?id=111833


Participating hosts (54 -> 46)
------------------------------

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


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7044 -> Patchwork_14731

  CI-20190529: 20190529
  CI_DRM_7044: bb25359d0ab2e524333673e26a47fe392c831feb @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5220: 1e38e32d721210a780198c8293a6b8c8e881df68 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14731: a6298b5c9029e8cbcc0be173a3b94f5c8fb99c02 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

a6298b5c9029 drm/i915/gt: execlists->active is serialised by the tasklet
84b136f342ca drm/i915/execlists: Protect peeking at execlists->active

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/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

* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4)
  2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
                   ` (4 preceding siblings ...)
  2019-10-09 20:03 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4) Patchwork
@ 2019-10-10  3:24 ` Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-10-10  3:24 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4)
URL   : https://patchwork.freedesktop.org/series/67782/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7044_full -> Patchwork_14731_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#110841])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb7/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html

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

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          [PASS][5] -> [INCOMPLETE][6] ([fdo#103359] / [fdo#108686] / [k.org#198133])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-glk5/igt@gem_tiled_swapping@non-threaded.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-glk8/igt@gem_tiled_swapping@non-threaded.html
    - shard-hsw:          [PASS][7] -> [INCOMPLETE][8] ([fdo#103540] / [fdo#108686])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-hsw5/igt@gem_tiled_swapping@non-threaded.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-hsw5/igt@gem_tiled_swapping@non-threaded.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-snb:          [PASS][9] -> [DMESG-WARN][10] ([fdo#111870])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-snb5/igt@gem_userptr_blits@dmabuf-sync.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-snb7/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +4 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-apl6/igt@gem_workarounds@suspend-resume-context.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-apl7/igt@gem_workarounds@suspend-resume-context.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x256-offscreen:
    - shard-skl:          [PASS][13] -> [FAIL][14] ([fdo#103232])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-256x256-offscreen.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl7/igt@kms_cursor_crc@pipe-b-cursor-256x256-offscreen.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-hsw:          [PASS][15] -> [INCOMPLETE][16] ([fdo#103540])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-hsw7/igt@kms_flip@2x-flip-vs-suspend.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-hsw2/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-apl:          [PASS][17] -> [FAIL][18] ([fdo#105363])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-apl7/igt@kms_flip@flip-vs-expired-vblank.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-apl2/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-iclb:         [PASS][19] -> [FAIL][20] ([fdo#103167]) +7 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][21] -> [FAIL][22] ([fdo#108145] / [fdo#110403]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl8/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][23] -> [SKIP][24] ([fdo#109441]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_vblank@pipe-b-ts-continuation-modeset-hang:
    - shard-apl:          [PASS][25] -> [INCOMPLETE][26] ([fdo#103927])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-apl4/igt@kms_vblank@pipe-b-ts-continuation-modeset-hang.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-apl2/igt@kms_vblank@pipe-b-ts-continuation-modeset-hang.html

  * igt@perf@blocking:
    - shard-skl:          [PASS][27] -> [FAIL][28] ([fdo#110728])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl9/igt@perf@blocking.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl8/igt@perf@blocking.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109276]) +15 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb1/igt@prime_busy@hang-bsd2.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb7/igt@prime_busy@hang-bsd2.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-hsw:          [PASS][31] -> [SKIP][32] ([fdo#109271])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-hsw7/igt@tools_test@sysfs_l3_parity.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-hsw5/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-hsw:          [FAIL][33] ([fdo#111925]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-hsw8/igt@gem_eio@in-flight-contexts-10ms.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-hsw7/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_exec_blt@dumb-buf-max:
    - shard-apl:          [INCOMPLETE][35] ([fdo#103927]) -> [PASS][36] +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-apl1/igt@gem_exec_blt@dumb-buf-max.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-apl6/igt@gem_exec_blt@dumb-buf-max.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][37] ([fdo#109276]) -> [PASS][38] +16 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb4/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#111325]) -> [PASS][40] +8 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb3/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-snb:          [DMESG-WARN][41] ([fdo#111870]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-snb6/igt@gem_userptr_blits@dmabuf-unsync.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-snb2/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44] +3 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-apl1/igt@i915_suspend@sysfs-reader.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-apl8/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-random:
    - shard-skl:          [FAIL][45] ([fdo#103232]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [FAIL][47] ([fdo#105363]) -> [PASS][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl7/igt@kms_flip@flip-vs-expired-vblank.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl10/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][49] ([fdo#103167]) -> [PASS][50] +7 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
    - {shard-tglb}:       [FAIL][51] ([fdo#103167]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html

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

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][55] ([fdo#103166]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [FAIL][57] ([fdo#108341]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb1/igt@kms_psr@no_drrs.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb7/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][59] ([fdo#109441]) -> [PASS][60] +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@perf@polling:
    - shard-skl:          [FAIL][61] ([fdo#110728]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-skl4/igt@perf@polling.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-skl8/igt@perf@polling.html

  
#### Warnings ####

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [FAIL][63] ([fdo#111330]) -> [SKIP][64] ([fdo#109276]) +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7044/shard-iclb1/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14731/shard-iclb3/igt@gem_mocs_settings@mocs-reset-bsd2.html

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

  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#111925]: https://bugs.freedesktop.org/show_bug.cgi?id=111925
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


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

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7044 -> Patchwork_14731

  CI-20190529: 20190529
  CI_DRM_7044: bb25359d0ab2e524333673e26a47fe392c831feb @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5220: 1e38e32d721210a780198c8293a6b8c8e881df68 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14731: a6298b5c9029e8cbcc0be173a3b94f5c8fb99c02 @ 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_14731/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:[~2019-10-10  3:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-09 10:09 [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Chris Wilson
2019-10-09 10:09 ` [PATCH 2/2] drm/i915/gt: execlists->active is serialised by the tasklet Chris Wilson
2019-10-09 10:26   ` [PATCH] " Chris Wilson
2019-10-09 15:53     ` Tvrtko Ursulin
2019-10-09 15:59       ` Chris Wilson
2019-10-09 16:37         ` Tvrtko Ursulin
2019-10-09 17:07           ` Chris Wilson
2019-10-09 16:09   ` [PATCH v2] " Chris Wilson
2019-10-09 16:32     ` Chris Wilson
2019-10-09 16:59       ` Tvrtko Ursulin
2019-10-09 15:27 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev2) Patchwork
2019-10-09 15:38 ` [PATCH 1/2] drm/i915/execlists: Protect peeking at execlists->active Tvrtko Ursulin
2019-10-09 17:41 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev3) Patchwork
2019-10-09 20:03 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Protect peeking at execlists->active (rev4) Patchwork
2019-10-10  3:24 ` ✓ Fi.CI.IGT: " Patchwork

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