Intel-GFX Archive on lore.kernel.org
 help / color / Atom feed
* [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines
@ 2020-02-11 19:22 Chris Wilson
  2020-02-11 20:13 ` [Intel-gfx] [PATCH i-g-t v2] " Chris Wilson
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Chris Wilson @ 2020-02-11 19:22 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

Tvrtko spotted a race condition between replacing a set of hanging
engines and closing the context. So exercise it.

5s is not much time to hit the small window, but a little bit of testing
several times a day is better than nothing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 93 ++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 22f29d25e..6321dbe67 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -33,6 +33,7 @@
 #include "i915/gem_engine_topology.h"
 #include "i915/gem_ring.h"
 #include "i915/gem_submission.h"
+#include "igt_aux.h"
 #include "igt_debugfs.h"
 #include "igt_dummyload.h"
 #include "igt_gt.h"
@@ -803,6 +804,95 @@ static void replace_engines(int i915, const struct intel_execution_engine2 *e)
 	gem_quiescent_gpu(i915);
 }
 
+struct close_race {
+	int pipe[2];
+};
+
+static void race_set_engines(int i915, int fd)
+{
+	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 1) = {
+		.engines = {}
+	};
+	struct drm_i915_gem_context_param param = {
+		.param = I915_CONTEXT_PARAM_ENGINES,
+		.value = to_user_pointer(&engines),
+		.size = sizeof(engines),
+	};
+
+	while (read(fd, &param.ctx_id, sizeof(param.ctx_id)) > 0) {
+		if (!param.ctx_id)
+			break;
+		__gem_context_set_param(i915, &param);
+	}
+}
+
+static void close_replace_race(int i915)
+{
+	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
+	struct close_race *t;
+	int fence = -1;
+
+	/*
+	 * Tvrtko being the evil genius noticed that if we could successfully
+	 * replace a set of engines after the context had been closed, those
+	 * engines could escape oversight.
+	 */
+
+	t = malloc(sizeof(*t) * ncpus);
+	igt_assert(t);
+
+	for (int i = 0; i < ncpus; i++)
+		igt_assert(pipe(t[i].pipe) == 0);
+
+	igt_fork(child, ncpus) {
+		close(t[child].pipe[1]);
+		race_set_engines(i915, t[child].pipe[0]);
+	}
+
+	for (int i = 0; i < ncpus; i++)
+		close(t[i].pipe[0]);
+
+	igt_until_timeout(5) {
+		igt_spin_t *spin;
+		uint32_t ctx;
+
+		ctx = gem_context_clone_with_engines(i915, 0);
+		gem_context_set_persistence(i915, ctx, true);
+
+		spin = igt_spin_new(i915, ctx, .flags = IGT_SPIN_FENCE_OUT);
+		for (int i = 0; i < ncpus; i++)
+			write(t[i].pipe[1], &ctx, sizeof(ctx));
+
+		if (fence < 0) {
+			fence = spin->out_fence;
+		} else {
+			int tmp;
+
+			tmp = sync_fence_merge(fence, spin->out_fence);
+			close(fence);
+			close(spin->out_fence);
+
+			fence = tmp;
+		}
+		spin->out_fence = -1;
+
+		gem_context_destroy(i915, ctx);
+	}
+
+	for (int i = 0; i < ncpus; i++) {
+		uint32_t end = 0;
+		write(t[i].pipe[1], &end, sizeof(end));
+		close(t[i].pipe[1]);
+	}
+	igt_waitchildren();
+	free(t);
+
+	igt_assert(sync_fence_wait(fence, MSEC_PER_SEC / 2) == 0);
+	close(fence);
+
+	gem_quiescent_gpu(i915);
+}
+
 static void replace_engines_hostile(int i915,
 				    const struct intel_execution_engine2 *e)
 {
@@ -961,6 +1051,9 @@ igt_main
 					replace_engines_hostile(i915, e);
 			}
 		}
+
+		igt_subtest("close-replace-race")
+			close_replace_race(i915);
 	}
 
 	igt_fixture {
-- 
2.25.0

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

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

* [Intel-gfx] [PATCH i-g-t v2] i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
@ 2020-02-11 20:13 ` " Chris Wilson
  2020-02-12 11:11 ` [Intel-gfx] ✗ GitLab.Pipeline: failure for " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Chris Wilson @ 2020-02-11 20:13 UTC (permalink / raw)
  To: intel-gfx

Tvrtko spotted a race condition between replacing a set of hanging
engines and closing the context. So exercise it.

5s is not much time to hit the small window, but a little bit of testing
several times a day is better than nothing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 84 ++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 22f29d25e..389b300f0 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -33,6 +33,7 @@
 #include "i915/gem_engine_topology.h"
 #include "i915/gem_ring.h"
 #include "i915/gem_submission.h"
+#include "igt_aux.h"
 #include "igt_debugfs.h"
 #include "igt_dummyload.h"
 #include "igt_gt.h"
@@ -803,6 +804,86 @@ static void replace_engines(int i915, const struct intel_execution_engine2 *e)
 	gem_quiescent_gpu(i915);
 }
 
+static void race_set_engines(int i915, int fd)
+{
+	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 1) = {
+		.engines = {}
+	};
+	struct drm_i915_gem_context_param param = {
+		.param = I915_CONTEXT_PARAM_ENGINES,
+		.value = to_user_pointer(&engines),
+		.size = sizeof(engines),
+	};
+
+	while (read(fd, &param.ctx_id, sizeof(param.ctx_id)) > 0) {
+		if (!param.ctx_id)
+			break;
+		__gem_context_set_param(i915, &param);
+	}
+}
+
+static void close_replace_race(int i915)
+{
+	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
+	int fence = -1;
+	int fd[2];
+
+	/*
+	 * Tvrtko being the evil genius noticed that if we could successfully
+	 * replace a set of engines after the context had been closed, those
+	 * engines could escape oversight.
+	 */
+
+	igt_assert(pipe(fd) == 0);
+	igt_fork(child, ncpus) {
+		close(fd[1]);
+		race_set_engines(i915, fd[0]);
+	}
+	for (int i = 0; i < ncpus; i++)
+		close(fd[0]);
+
+	igt_until_timeout(5) {
+		igt_spin_t *spin;
+		uint32_t ctx;
+
+		ctx = gem_context_clone_with_engines(i915, 0);
+		gem_context_set_persistence(i915, ctx, false);
+
+		spin = igt_spin_new(i915, ctx, .flags = IGT_SPIN_FENCE_OUT);
+		for (int i = 0; i < ncpus; i++)
+			write(fd[1], &ctx, sizeof(ctx));
+
+		if (fence < 0) {
+			fence = spin->out_fence;
+		} else {
+			int tmp;
+
+			tmp = sync_fence_merge(fence, spin->out_fence);
+			close(fence);
+			close(spin->out_fence);
+
+			fence = tmp;
+		}
+		spin->out_fence = -1;
+
+		gem_context_destroy(i915, ctx);
+	}
+
+	for (int i = 0; i < ncpus; i++) {
+		uint32_t end = 0;
+
+		write(fd[1], &end, sizeof(end));
+	}
+	close(fd[1]);
+
+	igt_debugfs_dump(i915, "i915_engine_info");
+	igt_assert(sync_fence_wait(fence, MSEC_PER_SEC / 2) == 0);
+	close(fence);
+
+	igt_waitchildren();
+	gem_quiescent_gpu(i915);
+}
+
 static void replace_engines_hostile(int i915,
 				    const struct intel_execution_engine2 *e)
 {
@@ -961,6 +1042,9 @@ igt_main
 					replace_engines_hostile(i915, e);
 			}
 		}
+
+		igt_subtest("close-replace-race")
+			close_replace_race(i915);
 	}
 
 	igt_fixture {
-- 
2.25.0

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

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

* [Intel-gfx] ✗ GitLab.Pipeline: failure for i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
  2020-02-11 20:13 ` [Intel-gfx] [PATCH i-g-t v2] " Chris Wilson
@ 2020-02-12 11:11 ` " Patchwork
  2020-02-12 11:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-02-12 11:11 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: i915/gem_ctx_persistence: Race context closure with replace-engines
URL   : https://patchwork.freedesktop.org/series/73339/
State : failure

== Summary ==

ERROR! This series introduces new undocumented tests:

gem_ctx_persistence@close-replace-race

Can you document them as per the requirement in the [CONTRIBUTING.md]?

[Documentation] has more details on how to do this.

Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d

Thanks in advance!

[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe

Other than that, pipeline status: SUCCESS.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/107603 for the overview.

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/107603
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
  2020-02-11 20:13 ` [Intel-gfx] [PATCH i-g-t v2] " Chris Wilson
  2020-02-12 11:11 ` [Intel-gfx] ✗ GitLab.Pipeline: failure for " Patchwork
@ 2020-02-12 11:23 ` " Patchwork
  2020-02-13  9:07 ` [Intel-gfx] [igt-dev] [PATCH i-g-t] " Tvrtko Ursulin
  2020-02-14  3:27 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-02-12 11:23 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: i915/gem_ctx_persistence: Race context closure with replace-engines
URL   : https://patchwork.freedesktop.org/series/73339/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7918 -> IGTPW_4135
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-process:
    - fi-byt-j1900:       [PASS][1] -> [FAIL][2] ([i915#694])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-byt-j1900/igt@gem_close_race@basic-process.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-byt-j1900/igt@gem_close_race@basic-process.html

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

  * igt@gem_exec_suspend@basic-s3:
    - fi-cfl-8109u:       [PASS][5] -> [FAIL][6] ([fdo#103375])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-cfl-8109u/igt@gem_exec_suspend@basic-s3.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-cfl-8109u/igt@gem_exec_suspend@basic-s3.html

  
#### Possible fixes ####

  * igt@gem_close_race@basic-threads:
    - fi-ivb-3770:        [TIMEOUT][7] ([fdo#112271]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-ivb-3770/igt@gem_close_race@basic-threads.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-ivb-3770/igt@gem_close_race@basic-threads.html

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-guc:         [SKIP][9] ([fdo#109271]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-guc:         [INCOMPLETE][11] ([fdo#106070] / [i915#424]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html

  * igt@i915_selftest@live_gt_heartbeat:
    - fi-bwr-2160:        [FAIL][13] -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-bwr-2160/igt@i915_selftest@live_gt_heartbeat.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-bwr-2160/igt@i915_selftest@live_gt_heartbeat.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6770hq:      [SKIP][15] ([fdo#109271]) -> [PASS][16] +27 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html

  
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816


Participating hosts (49 -> 46)
------------------------------

  Additional (4): fi-skl-guc fi-byt-n2820 fi-bsw-nick fi-bsw-n3050 
  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5435 -> IGTPW_4135

  CI-20190529: 20190529
  CI_DRM_7918: d9dbc4c91c2c141a9492c88255231ef6aae6fbd9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4135: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/index.html
  IGT_5435: 2b6d4476dde53c363b8808ed9f0dd5547ac78641 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@gem_ctx_persistence@close-replace-race

== Logs ==

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

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

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
                   ` (2 preceding siblings ...)
  2020-02-12 11:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-02-13  9:07 ` " Tvrtko Ursulin
  2020-02-13  9:51   ` Chris Wilson
  2020-02-14  3:27 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork
  4 siblings, 1 reply; 8+ messages in thread
From: Tvrtko Ursulin @ 2020-02-13  9:07 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: igt-dev


On 11/02/2020 19:22, Chris Wilson wrote:
> Tvrtko spotted a race condition between replacing a set of hanging
> engines and closing the context. So exercise it.
> 
> 5s is not much time to hit the small window, but a little bit of testing
> several times a day is better than nothing.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>   tests/i915/gem_ctx_persistence.c | 93 ++++++++++++++++++++++++++++++++
>   1 file changed, 93 insertions(+)
> 
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 22f29d25e..6321dbe67 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -33,6 +33,7 @@
>   #include "i915/gem_engine_topology.h"
>   #include "i915/gem_ring.h"
>   #include "i915/gem_submission.h"
> +#include "igt_aux.h"
>   #include "igt_debugfs.h"
>   #include "igt_dummyload.h"
>   #include "igt_gt.h"
> @@ -803,6 +804,95 @@ static void replace_engines(int i915, const struct intel_execution_engine2 *e)
>   	gem_quiescent_gpu(i915);
>   }
>   
> +struct close_race {
> +	int pipe[2];
> +};
> +
> +static void race_set_engines(int i915, int fd)
> +{
> +	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 1) = {
> +		.engines = {}
> +	};
> +	struct drm_i915_gem_context_param param = {
> +		.param = I915_CONTEXT_PARAM_ENGINES,
> +		.value = to_user_pointer(&engines),
> +		.size = sizeof(engines),
> +	};
> +
> +	while (read(fd, &param.ctx_id, sizeof(param.ctx_id)) > 0) {
> +		if (!param.ctx_id)
> +			break;
> +		__gem_context_set_param(i915, &param);
> +	}
> +}
> +
> +static void close_replace_race(int i915)
> +{
> +	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
> +	struct close_race *t;
> +	int fence = -1;
> +
> +	/*
> +	 * Tvrtko being the evil genius noticed that if we could successfully
> +	 * replace a set of engines after the context had been closed, those
> +	 * engines could escape oversight.
> +	 */

I think it would read better if you reworded this a bit not to mention 
names and claimed attributes. :)

> +
> +	t = malloc(sizeof(*t) * ncpus);
> +	igt_assert(t);
> +
> +	for (int i = 0; i < ncpus; i++)
> +		igt_assert(pipe(t[i].pipe) == 0);
> +
> +	igt_fork(child, ncpus) {
> +		close(t[child].pipe[1]);
> +		race_set_engines(i915, t[child].pipe[0]);
> +	}
> +
> +	for (int i = 0; i < ncpus; i++)
> +		close(t[i].pipe[0]);
> +
> +	igt_until_timeout(5) {
> +		igt_spin_t *spin;
> +		uint32_t ctx;
> +
> +		ctx = gem_context_clone_with_engines(i915, 0);
> +		gem_context_set_persistence(i915, ctx, true);
> +
> +		spin = igt_spin_new(i915, ctx, .flags = IGT_SPIN_FENCE_OUT);
> +		for (int i = 0; i < ncpus; i++)
> +			write(t[i].pipe[1], &ctx, sizeof(ctx));

It's early so I hope I am not too confused, but drm client in the forked 
process is a different one. So I think it needs to use threads to be 
able to share.

Regards,

Tvrtko

> +
> +		if (fence < 0) {
> +			fence = spin->out_fence;
> +		} else {
> +			int tmp;
> +
> +			tmp = sync_fence_merge(fence, spin->out_fence);
> +			close(fence);
> +			close(spin->out_fence);
> +
> +			fence = tmp;
> +		}
> +		spin->out_fence = -1;
> +
> +		gem_context_destroy(i915, ctx);
> +	}
> +
> +	for (int i = 0; i < ncpus; i++) {
> +		uint32_t end = 0;
> +		write(t[i].pipe[1], &end, sizeof(end));
> +		close(t[i].pipe[1]);
> +	}
> +	igt_waitchildren();
> +	free(t);
> +
> +	igt_assert(sync_fence_wait(fence, MSEC_PER_SEC / 2) == 0);
> +	close(fence);
> +
> +	gem_quiescent_gpu(i915);
> +}
> +
>   static void replace_engines_hostile(int i915,
>   				    const struct intel_execution_engine2 *e)
>   {
> @@ -961,6 +1051,9 @@ igt_main
>   					replace_engines_hostile(i915, e);
>   			}
>   		}
> +
> +		igt_subtest("close-replace-race")
> +			close_replace_race(i915);
>   	}
>   
>   	igt_fixture {
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-13  9:07 ` [Intel-gfx] [igt-dev] [PATCH i-g-t] " Tvrtko Ursulin
@ 2020-02-13  9:51   ` Chris Wilson
  2020-02-13 11:02     ` Tvrtko Ursulin
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Wilson @ 2020-02-13  9:51 UTC (permalink / raw)
  To: Tvrtko Ursulin, intel-gfx; +Cc: igt-dev

Quoting Tvrtko Ursulin (2020-02-13 09:07:59)
> 
> On 11/02/2020 19:22, Chris Wilson wrote:
> > +     igt_until_timeout(5) {
> > +             igt_spin_t *spin;
> > +             uint32_t ctx;
> > +
> > +             ctx = gem_context_clone_with_engines(i915, 0);
> > +             gem_context_set_persistence(i915, ctx, true);
> > +
> > +             spin = igt_spin_new(i915, ctx, .flags = IGT_SPIN_FENCE_OUT);
> > +             for (int i = 0; i < ncpus; i++)
> > +                     write(t[i].pipe[1], &ctx, sizeof(ctx));
> 
> It's early so I hope I am not too confused, but drm client in the forked 
> process is a different one. So I think it needs to use threads to be 
> able to share.

It using the same fd, so the children have control over the parents ctx
(and shares the ctx id space via the fd)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-13  9:51   ` Chris Wilson
@ 2020-02-13 11:02     ` Tvrtko Ursulin
  0 siblings, 0 replies; 8+ messages in thread
From: Tvrtko Ursulin @ 2020-02-13 11:02 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: igt-dev


On 13/02/2020 09:51, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2020-02-13 09:07:59)
>>
>> On 11/02/2020 19:22, Chris Wilson wrote:
>>> +     igt_until_timeout(5) {
>>> +             igt_spin_t *spin;
>>> +             uint32_t ctx;
>>> +
>>> +             ctx = gem_context_clone_with_engines(i915, 0);
>>> +             gem_context_set_persistence(i915, ctx, true);
>>> +
>>> +             spin = igt_spin_new(i915, ctx, .flags = IGT_SPIN_FENCE_OUT);
>>> +             for (int i = 0; i < ncpus; i++)
>>> +                     write(t[i].pipe[1], &ctx, sizeof(ctx));
>>
>> It's early so I hope I am not too confused, but drm client in the forked
>> process is a different one. So I think it needs to use threads to be
>> able to share.
> 
> It using the same fd, so the children have control over the parents ctx
> (and shares the ctx id space via the fd)

It was too early then.

Then with a more neutral comment:

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] 8+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for i915/gem_ctx_persistence: Race context closure with replace-engines
  2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
                   ` (3 preceding siblings ...)
  2020-02-13  9:07 ` [Intel-gfx] [igt-dev] [PATCH i-g-t] " Tvrtko Ursulin
@ 2020-02-14  3:27 ` " Patchwork
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-02-14  3:27 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: i915/gem_ctx_persistence: Race context closure with replace-engines
URL   : https://patchwork.freedesktop.org/series/73339/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7918_full -> IGTPW_4135_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@gem_ctx_persistence@close-replace-race} (NEW):
    - shard-tglb:         NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb3/igt@gem_ctx_persistence@close-replace-race.html
    - shard-kbl:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl3/igt@gem_ctx_persistence@close-replace-race.html
    - shard-glk:          NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-glk3/igt@gem_ctx_persistence@close-replace-race.html

  
New tests
---------

  New tests have been introduced between CI_DRM_7918_full and IGTPW_4135_full:

### New IGT tests (1) ###

  * igt@gem_ctx_persistence@close-replace-race:
    - Statuses : 3 fail(s) 2 pass(s) 2 skip(s)
    - Exec time: [0.0, 5.91] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][4] -> [INCOMPLETE][5] ([fdo#103665])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl1/igt@gem_ctx_isolation@rcs0-s3.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html
    - shard-apl:          [PASS][6] -> [DMESG-WARN][7] ([i915#180]) +3 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-apl4/igt@gem_ctx_isolation@rcs0-s3.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-apl1/igt@gem_ctx_isolation@rcs0-s3.html

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

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#112146]) +3 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb5/igt@gem_exec_schedule@in-order-bsd.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb4/igt@gem_exec_schedule@in-order-bsd.html

  * igt@gem_exec_schedule@pi-userfault-bsd:
    - shard-iclb:         [PASS][12] -> [SKIP][13] ([i915#677])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb7/igt@gem_exec_schedule@pi-userfault-bsd.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb2/igt@gem_exec_schedule@pi-userfault-bsd.html

  * igt@gem_partial_pwrite_pread@writes-after-reads:
    - shard-hsw:          [PASS][14] -> [FAIL][15] ([i915#694])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw7/igt@gem_partial_pwrite_pread@writes-after-reads.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw5/igt@gem_partial_pwrite_pread@writes-after-reads.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-snb:          [PASS][16] -> [DMESG-WARN][17] ([fdo#111870] / [i915#478])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@gem_userptr_blits@dmabuf-unsync.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb5/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180:
    - shard-tglb:         [PASS][18] -> [DMESG-FAIL][19] ([i915#402]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb3/igt@kms_ccs@pipe-a-crc-primary-rotation-180.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb3/igt@kms_ccs@pipe-a-crc-primary-rotation-180.html

  * igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen:
    - shard-tglb:         [PASS][20] -> [FAIL][21] ([fdo#111703]) +2 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb5/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb5/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-kbl:          [PASS][22] -> [DMESG-WARN][23] ([i915#180]) +2 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge:
    - shard-tglb:         [PASS][24] -> [FAIL][25] ([i915#70])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb8/igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb6/igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
    - shard-hsw:          [PASS][26] -> [FAIL][27] ([i915#57])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw2/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html

  * igt@kms_draw_crc@draw-method-rgb565-blt-untiled:
    - shard-tglb:         [PASS][28] -> [FAIL][29] ([i915#559]) +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb8/igt@kms_draw_crc@draw-method-rgb565-blt-untiled.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb5/igt@kms_draw_crc@draw-method-rgb565-blt-untiled.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-hsw:          [PASS][30] -> [INCOMPLETE][31] ([i915#61])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw8/igt@kms_flip@flip-vs-suspend.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw5/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
    - shard-glk:          [PASS][32] -> [FAIL][33] ([i915#49])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-glk1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_plane_cursor@pipe-a-overlay-size-256:
    - shard-tglb:         [PASS][34] -> [FAIL][35] ([i915#1139])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb7/igt@kms_plane_cursor@pipe-a-overlay-size-256.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb7/igt@kms_plane_cursor@pipe-a-overlay-size-256.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-iclb:         [PASS][36] -> [SKIP][37] ([fdo#109441])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb3/igt@kms_psr@psr2_cursor_plane_onoff.html

  * igt@perf_pmu@busy-start-vcs1:
    - shard-iclb:         [PASS][38] -> [SKIP][39] ([fdo#112080]) +8 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb2/igt@perf_pmu@busy-start-vcs1.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb6/igt@perf_pmu@busy-start-vcs1.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [PASS][40] -> [SKIP][41] ([fdo#109276]) +14 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb4/igt@prime_busy@hang-bsd2.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb6/igt@prime_busy@hang-bsd2.html

  
#### Possible fixes ####

  * igt@gem_caching@reads:
    - shard-hsw:          [FAIL][42] ([i915#694]) -> [PASS][43] +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw7/igt@gem_caching@reads.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw5/igt@gem_caching@reads.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][44] ([fdo#110854]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb8/igt@gem_exec_balancer@smoke.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb4/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][46] ([fdo#109276]) -> [PASS][47] +20 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][48] ([fdo#112146]) -> [PASS][49] +5 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb7/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-kbl:          [DMESG-WARN][50] ([i915#180]) -> [PASS][51] +5 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl6/igt@gem_exec_suspend@basic-s3.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl1/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_pm_rps@waitboost:
    - shard-iclb:         [FAIL][52] ([i915#413]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb5/igt@i915_pm_rps@waitboost.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb2/igt@i915_pm_rps@waitboost.html

  * igt@i915_suspend@sysfs-reader:
    - shard-kbl:          [DMESG-WARN][54] ([i915#56]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl2/igt@i915_suspend@sysfs-reader.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl7/igt@i915_suspend@sysfs-reader.html

  * igt@kms_color@pipe-a-ctm-negative:
    - shard-tglb:         [FAIL][56] ([i915#1149]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb3/igt@kms_color@pipe-a-ctm-negative.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb2/igt@kms_color@pipe-a-ctm-negative.html

  * igt@kms_color@pipe-c-ctm-max:
    - shard-kbl:          [FAIL][58] ([i915#168]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl3/igt@kms_color@pipe-c-ctm-max.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl4/igt@kms_color@pipe-c-ctm-max.html
    - shard-apl:          [FAIL][60] ([i915#168]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-apl8/igt@kms_color@pipe-c-ctm-max.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-apl2/igt@kms_color@pipe-c-ctm-max.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen:
    - shard-tglb:         [FAIL][62] ([fdo#111703]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb2/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb6/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html

  * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:
    - shard-tglb:         [DMESG-FAIL][64] ([i915#402]) -> [PASS][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb1/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb6/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled:
    - shard-tglb:         [FAIL][66] ([i915#559]) -> [PASS][67]
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb5/igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb6/igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][68] ([i915#180]) -> [PASS][69] +2 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-snb:          [DMESG-WARN][70] ([i915#478]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [SKIP][72] ([fdo#109441]) -> [PASS][73] +2 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb4/igt@kms_psr@psr2_no_drrs.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb2/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][74] ([i915#31]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-apl8/igt@kms_setmode@basic.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-apl8/igt@kms_setmode@basic.html
    - shard-hsw:          [FAIL][76] ([i915#31]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw6/igt@kms_setmode@basic.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw6/igt@kms_setmode@basic.html

  * igt@perf@rc6-disable:
    - shard-iclb:         [SKIP][78] ([i915#405]) -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb2/igt@perf@rc6-disable.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb8/igt@perf@rc6-disable.html
    - shard-hsw:          [SKIP][80] ([fdo#109271]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw5/igt@perf@rc6-disable.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw2/igt@perf@rc6-disable.html
    - shard-kbl:          [SKIP][82] ([fdo#109271]) -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-kbl6/igt@perf@rc6-disable.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-kbl3/igt@perf@rc6-disable.html
    - shard-apl:          [SKIP][84] ([fdo#109271]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-apl3/igt@perf@rc6-disable.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-apl6/igt@perf@rc6-disable.html
    - shard-tglb:         [SKIP][86] ([fdo#111719] / [i915#405]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb8/igt@perf@rc6-disable.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb3/igt@perf@rc6-disable.html
    - shard-glk:          [SKIP][88] ([fdo#109271]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-glk9/igt@perf@rc6-disable.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-glk2/igt@perf@rc6-disable.html

  * igt@perf_pmu@busy-vcs1:
    - shard-iclb:         [SKIP][90] ([fdo#112080]) -> [PASS][91] +12 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb5/igt@perf_pmu@busy-vcs1.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb4/igt@perf_pmu@busy-vcs1.html

  * igt@prime_mmap_coherency@ioctl-errors:
    - shard-hsw:          [FAIL][92] ([i915#831]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw2/igt@prime_mmap_coherency@ioctl-errors.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw8/igt@prime_mmap_coherency@ioctl-errors.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [FAIL][94] ([IGT#28]) -> [SKIP][95] ([fdo#112080])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [SKIP][96] ([fdo#112080]) -> [FAIL][97] ([IGT#28])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@gem_tiled_blits@interruptible:
    - shard-hsw:          [FAIL][98] ([i915#694]) -> [FAIL][99] ([i915#818])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-hsw7/igt@gem_tiled_blits@interruptible.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-hsw2/igt@gem_tiled_blits@interruptible.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         [SKIP][100] ([i915#468]) -> [FAIL][101] ([i915#454])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-tglb3/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - shard-snb:          [SKIP][102] ([fdo#109271]) -> [INCOMPLETE][103] ([i915#82])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@i915_pm_rpm@universal-planes:
    - shard-snb:          [INCOMPLETE][104] ([i915#82]) -> [SKIP][105] ([fdo#109271])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb4/igt@i915_pm_rpm@universal-planes.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb5/igt@i915_pm_rpm@universal-planes.html

  * igt@runner@aborted:
    - shard-snb:          ([FAIL][106], [FAIL][107], [FAIL][108], [FAIL][109], [FAIL][110], [FAIL][111], [FAIL][112], [FAIL][113]) ([fdo#111870] / [i915#1077] / [i915#698]) -> ([FAIL][114], [FAIL][115], [FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119], [FAIL][120], [FAIL][121], [FAIL][122]) ([fdo#111870] / [i915#1077])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb4/igt@runner@aborted.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@runner@aborted.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@runner@aborted.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb5/igt@runner@aborted.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb4/igt@runner@aborted.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb5/igt@runner@aborted.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb4/igt@runner@aborted.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7918/shard-snb6/igt@runner@aborted.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@runner@aborted.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@runner@aborted.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb6/igt@runner@aborted.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb5/igt@runner@aborted.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb5/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb4/igt@runner@aborted.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@runner@aborted.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/shard-snb2/igt@runner@aborted.html

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

  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#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#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111703]: https://bugs.freedesktop.org/show_bug.cgi?id=111703
  [fdo#111719]: https://bugs.freedesktop.org/show_bug.cgi?id=111719
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [i915#1077]: https://gitlab.freedesktop.org/drm/intel/issues/1077
  [i915#1139]: https://gitlab.freedesktop.org/drm/intel/issues/1139
  [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
  [i915#168]: https://gitlab.freedesktop.org/drm/intel/issues/168
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#405]: https://gitlab.freedesktop.org/drm/intel/issues/405
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#559]: https://gitlab.freedesktop.org/drm/intel/issues/559
  [i915#56]: https://gitlab.freedesktop.org/drm/intel/issues/56
  [i915#57]: https://gitlab.freedesktop.org/drm/intel/issues/57
  [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#698]: https://gitlab.freedesktop.org/drm/intel/issues/698
  [i915#70]: https://gitlab.freedesktop.org/drm/intel/issues/70
  [i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831


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

  Missing    (2): pig-skl-6260u pig-glk-j5005 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5435 -> IGTPW_4135
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_7918: d9dbc4c91c2c141a9492c88255231ef6aae6fbd9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4135: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4135/index.html
  IGT_5435: 2b6d4476dde53c363b8808ed9f0dd5547ac78641 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

end of thread, back to index

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-11 19:22 [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_persistence: Race context closure with replace-engines Chris Wilson
2020-02-11 20:13 ` [Intel-gfx] [PATCH i-g-t v2] " Chris Wilson
2020-02-12 11:11 ` [Intel-gfx] ✗ GitLab.Pipeline: failure for " Patchwork
2020-02-12 11:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-13  9:07 ` [Intel-gfx] [igt-dev] [PATCH i-g-t] " Tvrtko Ursulin
2020-02-13  9:51   ` Chris Wilson
2020-02-13 11:02     ` Tvrtko Ursulin
2020-02-14  3:27 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork

Intel-GFX Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/intel-gfx/0 intel-gfx/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 intel-gfx intel-gfx/ https://lore.kernel.org/intel-gfx \
		intel-gfx@lists.freedesktop.org
	public-inbox-index intel-gfx

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.freedesktop.lists.intel-gfx


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git