All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines
@ 2020-02-07 12:59 Arjun Melkaveri
  2020-02-07 13:36 ` [igt-dev] ✗ GitLab.Pipeline: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3) Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Arjun Melkaveri @ 2020-02-07 12:59 UTC (permalink / raw)
  To: arjun.melkaveri, igt-dev

Replaced the legacy for_each_engine* defines with the ones
implemented in the gem_engine_topology library.

Used  gem_context_clone_with_engines
to make sure that engine index was potentially created
based on a  default context with engine map configured

V2:

Added gem_reopen_driver and gem_context_copy_engines
to transfer the engine map from parent fd default
context.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ursulin Tvrtko <tvrtko.ursulin@intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
 tests/i915/gem_ctx_create.c | 102 ++++++++++++++++++++++++++----------
 1 file changed, 75 insertions(+), 27 deletions(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index d9a820e2..2c44a3e3 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -100,11 +100,18 @@ static void files(int core, int timeout, const int ncpus)
 	igt_fork(child, ncpus) {
 		struct timespec start, end;
 		unsigned count = 0;
+		int fd;
 
 		clock_gettime(CLOCK_MONOTONIC, &start);
 		do {
 			do {
-				int fd = drm_open_driver(DRIVER_INTEL);
+				fd = gem_reopen_driver(core);
+				/*
+				 * Ensure the gpu is idle by launching
+				 * a nop execbuf  and stalling for it.
+				 */
+				gem_quiescent_gpu(fd);
+				gem_context_copy_engines(core, 0, fd, 0);
 				obj.handle = gem_open(fd, name);
 				execbuf.flags &= ~ENGINE_FLAGS;
 				execbuf.flags |= ppgtt_engines[count % ppgtt_nengine];
@@ -124,22 +131,22 @@ static void files(int core, int timeout, const int ncpus)
 	gem_close(core, batch);
 }
 
-static void active(int fd, unsigned engine, int timeout, int ncpus)
+static void active(int fd, const struct intel_execution_engine2 *e,
+		   int timeout, int ncpus)
 {
 	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
 	unsigned int nengine, engines[16];
 	unsigned *shared;
-
-	if (engine == ALL_ENGINES) {
+	/* When e is NULL, test would run for all engines */
+	if (!e) {
 		igt_require(all_nengine);
 		nengine = all_nengine;
 		memcpy(engines, all_engines, sizeof(engines[0])*nengine);
 	} else {
-		gem_require_ring(fd, engine);
 		nengine = 1;
-		engines[0] = engine;
+		engines[0] = e->flags;
 	}
 
 	shared = mmap(NULL, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
@@ -156,8 +163,17 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
 	if (ncpus < 0) {
 		igt_fork(child, ppgtt_nengine) {
 			unsigned long count = 0;
+			int i915;
+
+			i915 = gem_reopen_driver(fd);
+			/*
+			 * Ensure the gpu is idle by launching
+			 * a nop execbuf and stalling for it
+			 */
+			gem_quiescent_gpu(i915);
+			gem_context_copy_engines(fd, 0, i915, 0);
 
-			if (ppgtt_engines[child] == engine)
+			if (ppgtt_engines[child] == e->flags)
 				continue;
 
 			execbuf.flags = ppgtt_engines[child];
@@ -179,11 +195,22 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
 	igt_fork(child, ncpus) {
 		struct timespec start, end;
 		unsigned count = 0;
+		int i915;
+		uint32_t ctx;
+
+		i915 = gem_reopen_driver(fd);
+		/*
+		 * Ensure the gpu is idle by launching
+		 * a nop execbuf and stalling for it.
+		 */
+		gem_quiescent_gpu(i915);
+		ctx = gem_context_create(i915);
+		gem_context_copy_engines(fd, 0, i915, ctx);
 
 		clock_gettime(CLOCK_MONOTONIC, &start);
 		do {
 			do {
-				execbuf.rsvd1 = gem_context_create(fd);
+				execbuf.rsvd1 = ctx;
 				for (unsigned n = 0; n < nengine; n++) {
 					execbuf.flags = engines[n];
 					gem_execbuf(fd, &execbuf);
@@ -276,7 +303,9 @@ static void maximum(int fd, int ncpus, unsigned mode)
 
 		err = -ENOMEM;
 		if (avail_mem > (count + 1) * ctx_size)
-			err = __gem_context_create(fd, &ctx_id);
+			err =  __gem_context_clone(fd, 0,
+						   I915_CONTEXT_CLONE_ENGINES,
+						   0, &ctx_id);
 		if (err) {
 			igt_info("Created %lu contexts, before failing with '%s' [%d]\n",
 				 count, strerror(-err), -err);
@@ -297,9 +326,18 @@ static void maximum(int fd, int ncpus, unsigned mode)
 
 	igt_fork(child, ncpus) {
 		struct timespec start, end;
+		int i915;
+
+		i915 = gem_reopen_driver(fd);
+		/*
+		 * Ensure the gpu is idle by launching
+		 * a nop execbuf and stalling for it.
+		 */
+		gem_quiescent_gpu(i915);
+		gem_context_copy_engines(fd, 0, i915, 0);
 
 		hars_petruska_f54_1_random_perturb(child);
-		obj[0].handle = gem_create(fd, 4096);
+		obj[0].handle = gem_create(i915, 4096);
 
 		clock_gettime(CLOCK_MONOTONIC, &start);
 		for (int repeat = 0; repeat < 3; repeat++) {
@@ -310,13 +348,13 @@ static void maximum(int fd, int ncpus, unsigned mode)
 				execbuf.rsvd1 = contexts[i];
 				for (unsigned long j = 0; j < all_nengine; j++) {
 					execbuf.flags = all_engines[j];
-					gem_execbuf(fd, &execbuf);
+					gem_execbuf(i915, &execbuf);
 				}
 			}
 		}
-		gem_sync(fd, obj[0].handle);
+		gem_sync(i915, obj[0].handle);
 		clock_gettime(CLOCK_MONOTONIC, &end);
-		gem_close(fd, obj[0].handle);
+		gem_close(i915, obj[0].handle);
 
 		igt_info("[%d] Context execution: %.3f us\n", child,
 			 elapsed(&start, &end) / (3 * count * all_nengine) * 1e6);
@@ -370,6 +408,7 @@ static void basic_ext_param(int i915)
 
 		gem_context_destroy(i915, create.ctx_id);
 
+
 		/* Having demonstrated a valid setup, check a few invalids */
 		ext.param.ctx_id = 1;
 		igt_assert_eq(create_ext_ioctl(i915, &create), -EINVAL);
@@ -524,6 +563,7 @@ igt_main
 {
 	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
 	struct drm_i915_gem_context_create create;
+	const struct intel_execution_engine2 *e;
 	int fd = -1;
 
 	igt_fixture {
@@ -531,8 +571,8 @@ igt_main
 		igt_require_gem(fd);
 		gem_require_contexts(fd);
 
-		for_each_physical_engine(e, fd)
-			all_engines[all_nengine++] = eb_ring(e);
+		__for_each_physical_engine(fd, e)
+			all_engines[all_nengine++] = e->flags;
 		igt_require(all_nengine);
 
 		if (gem_uses_full_ppgtt(fd)) {
@@ -572,20 +612,28 @@ igt_main
 	igt_subtest("forked-files")
 		files(fd, 20, ncpus);
 
+	/* NULL value means all engines */
 	igt_subtest("active-all")
-		active(fd, ALL_ENGINES, 20, 1);
+		active(fd, NULL, 20, 1);
 	igt_subtest("forked-active-all")
-		active(fd, ALL_ENGINES, 20, ncpus);
-
-	for (const struct intel_execution_engine *e = intel_execution_engines;
-	     e->name; e++) {
-		igt_subtest_f("active-%s", e->name)
-			active(fd, eb_ring(e), 20, 1);
-		igt_subtest_f("forked-active-%s", e->name)
-			active(fd, eb_ring(e), 20, ncpus);
-		if (e->exec_id) {
-			igt_subtest_f("hog-%s", e->name)
-				active(fd, eb_ring(e), 20, -1);
+		active(fd, NULL, 20, ncpus);
+
+	igt_subtest_with_dynamic("active") {
+		__for_each_physical_engine(fd, e) {
+			igt_dynamic_f("%s", e->name)
+				active(fd, e, 20, 1);
+		}
+	}
+	igt_subtest_with_dynamic("forked-active") {
+		__for_each_physical_engine(fd, e) {
+			igt_dynamic_f("%s", e->name)
+				active(fd, e, 20, ncpus);
+		}
+	}
+	igt_subtest_with_dynamic("hog") {
+		__for_each_physical_engine(fd, e) {
+			igt_dynamic_f("%s", e->name)
+				active(fd, e, 20, -1);
 		}
 	}
 
-- 
2.24.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ GitLab.Pipeline: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
  2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
@ 2020-02-07 13:36 ` Patchwork
  2020-02-07 13:48 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-02-07 13:36 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

== Series Details ==

Series: gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
URL   : https://patchwork.freedesktop.org/series/72889/
State : failure

== Summary ==

ERROR! This series introduces new undocumented tests:

gem_ctx_create@active
gem_ctx_create@forked-active
gem_ctx_create@hog

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/106112 for the overview.

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
  2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
  2020-02-07 13:36 ` [igt-dev] ✗ GitLab.Pipeline: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3) Patchwork
@ 2020-02-07 13:48 ` Patchwork
  2020-02-10 14:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-02-07 13:48 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

== Series Details ==

Series: gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
URL   : https://patchwork.freedesktop.org/series/72889/
State : success

== Summary ==

CI Bug Log - changes from IGT_5425 -> IGTPW_4112
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [PASS][1] -> [INCOMPLETE][2] ([i915#45])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770r:       [PASS][3] -> [DMESG-FAIL][4] ([i915#553] / [i915#725])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-hsw-4770r/igt@i915_selftest@live_blt.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-hsw-4770r/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gtt:
    - fi-bdw-5557u:       [PASS][5] -> [TIMEOUT][6] ([fdo#112271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-bdw-5557u/igt@i915_selftest@live_gtt.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-bdw-5557u/igt@i915_selftest@live_gtt.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-u3:          [PASS][7] -> [INCOMPLETE][8] ([fdo#108569])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-icl-u3/igt@i915_selftest@live_hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-icl-u3/igt@i915_selftest@live_hangcheck.html

  
#### Possible fixes ####

  * igt@i915_selftest@live_blt:
    - fi-bsw-n3050:       [INCOMPLETE][9] ([i915#392]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-bsw-n3050/igt@i915_selftest@live_blt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-bsw-n3050/igt@i915_selftest@live_blt.html
    - fi-bsw-nick:        [INCOMPLETE][11] ([i915#392]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-bsw-nick/igt@i915_selftest@live_blt.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-bsw-nick/igt@i915_selftest@live_blt.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][13] ([fdo#111096] / [i915#323]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [DMESG-WARN][15] ([i915#44]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  
#### Warnings ####

  * igt@gem_exec_parallel@fds:
    - fi-byt-n2820:       [FAIL][17] ([i915#694]) -> [TIMEOUT][18] ([fdo#112271])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/fi-byt-n2820/igt@gem_exec_parallel@fds.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/fi-byt-n2820/igt@gem_exec_parallel@fds.html

  
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#392]: https://gitlab.freedesktop.org/drm/intel/issues/392
  [i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44
  [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
  [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725


Participating hosts (53 -> 47)
------------------------------

  Additional (1): fi-pnv-d510 
  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_5425 -> IGTPW_4112

  CI-20190529: 20190529
  CI_DRM_7885: fc2806bc441bfc6b44cf4713f3c6b820d73c3534 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4112: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/index.html
  IGT_5425: ad4542ef1adbaa1227bc9ba9e24bb0e0f6dd408d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@gem_ctx_create@active
+igt@gem_ctx_create@forked-active
+igt@gem_ctx_create@hog
-igt@gem_ctx_create@active-blt
-igt@gem_ctx_create@active-bsd
-igt@gem_ctx_create@active-bsd1
-igt@gem_ctx_create@active-bsd2
-igt@gem_ctx_create@active-default
-igt@gem_ctx_create@active-render
-igt@gem_ctx_create@active-vebox
-igt@gem_ctx_create@forked-active-blt
-igt@gem_ctx_create@forked-active-bsd
-igt@gem_ctx_create@forked-active-bsd1
-igt@gem_ctx_create@forked-active-bsd2
-igt@gem_ctx_create@forked-active-default
-igt@gem_ctx_create@forked-active-render
-igt@gem_ctx_create@forked-active-vebox
-igt@gem_ctx_create@hog-blt
-igt@gem_ctx_create@hog-bsd
-igt@gem_ctx_create@hog-bsd1
-igt@gem_ctx_create@hog-bsd2
-igt@gem_ctx_create@hog-render
-igt@gem_ctx_create@hog-vebox

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
  2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
  2020-02-07 13:36 ` [igt-dev] ✗ GitLab.Pipeline: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3) Patchwork
  2020-02-07 13:48 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-02-10 14:08 ` Patchwork
  2020-02-11 11:01 ` [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Katarzyna Dec
  2020-03-03 14:28 ` Chris Wilson
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-02-10 14:08 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

== Series Details ==

Series: gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3)
URL   : https://patchwork.freedesktop.org/series/72889/
State : failure

== Summary ==

CI Bug Log - changes from IGT_5425_full -> IGTPW_4112_full
====================================================

Summary
-------

  **FAILURE**

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_color@pipe-a-legacy-gamma:
    - shard-tglb:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb1/igt@kms_color@pipe-a-legacy-gamma.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb2/igt@kms_color@pipe-a-legacy-gamma.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_caching@read-writes:
    - shard-hsw:          [PASS][3] -> [FAIL][4] ([i915#694])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-hsw6/igt@gem_caching@read-writes.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-hsw6/igt@gem_caching@read-writes.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#110854])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb1/igt@gem_exec_balancer@smoke.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb7/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_parallel@vcs1-fds:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#112080]) +7 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb4/igt@gem_exec_parallel@vcs1-fds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb8/igt@gem_exec_parallel@vcs1-fds.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([i915#677])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb8/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb1/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-queue-contexts-bsd1:
    - shard-iclb:         [PASS][11] -> [SKIP][12] ([fdo#109276]) +15 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb4/igt@gem_exec_schedule@preempt-queue-contexts-bsd1.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb8/igt@gem_exec_schedule@preempt-queue-contexts-bsd1.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#112146]) +6 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb3/igt@gem_exec_schedule@reorder-wide-bsd.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#644])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-glk4/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-glk3/igt@gem_ppgtt@flink-and-close-vma-leak.html

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

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [PASS][19] -> [DMESG-WARN][20] ([i915#716])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-glk1/igt@gen9_exec_parse@allowed-single.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-glk9/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([i915#454])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb1/igt@i915_pm_dc@dc6-psr.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - shard-iclb:         [PASS][23] -> [INCOMPLETE][24] ([i915#189])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb4/igt@i915_pm_rpm@system-suspend-modeset.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb8/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@kms_color@pipe-b-ctm-green-to-red:
    - shard-apl:          [PASS][25] -> [FAIL][26] ([i915#129])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-apl1/igt@kms_color@pipe-b-ctm-green-to-red.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-apl3/igt@kms_color@pipe-b-ctm-green-to-red.html
    - shard-kbl:          [PASS][27] -> [FAIL][28] ([i915#129])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-kbl4/igt@kms_color@pipe-b-ctm-green-to-red.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-kbl3/igt@kms_color@pipe-b-ctm-green-to-red.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-tglb:         [PASS][29] -> [FAIL][30] ([fdo#111703])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb8/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb3/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-a-64x64-left-edge:
    - shard-tglb:         [PASS][31] -> [FAIL][32] ([i915#70])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb3/igt@kms_cursor_edge_walk@pipe-a-64x64-left-edge.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb8/igt@kms_cursor_edge_walk@pipe-a-64x64-left-edge.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled:
    - shard-tglb:         [PASS][33] -> [DMESG-FAIL][34] ([i915#402])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb1/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb3/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html

  * igt@kms_frontbuffer_tracking@psr-farfromfence:
    - shard-tglb:         [PASS][35] -> [SKIP][36] ([i915#668]) +2 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb3/igt@kms_frontbuffer_tracking@psr-farfromfence.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb3/igt@kms_frontbuffer_tracking@psr-farfromfence.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-iclb:         [PASS][37] -> [INCOMPLETE][38] ([i915#140])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-kbl:          [PASS][39] -> [DMESG-WARN][40] ([i915#180]) +3 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-tglb:         [PASS][41] -> [FAIL][42] ([i915#1184])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb8/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
    - shard-glk:          [PASS][43] -> [FAIL][44] ([i915#899])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-glk1/igt@kms_plane_lowres@pipe-a-tiling-x.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-glk1/igt@kms_plane_lowres@pipe-a-tiling-x.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][45] -> [FAIL][46] ([i915#173])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb8/igt@kms_psr@no_drrs.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][47] -> [SKIP][48] ([fdo#109441]) +2 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb6/igt@kms_psr@psr2_cursor_mmap_cpu.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [DMESG-WARN][49] ([i915#180]) -> [PASS][50] +5 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [SKIP][51] ([fdo#110841]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@pi-distinct-iova-vebox:
    - shard-glk:          [FAIL][53] ([i915#859]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-glk9/igt@gem_exec_schedule@pi-distinct-iova-vebox.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-glk3/igt@gem_exec_schedule@pi-distinct-iova-vebox.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][55] ([fdo#112146]) -> [PASS][56] +3 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb2/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb3/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@i915_hangman@error-state-capture-vcs1:
    - shard-iclb:         [SKIP][57] ([fdo#112080]) -> [PASS][58] +8 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb7/igt@i915_hangman@error-state-capture-vcs1.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb2/igt@i915_hangman@error-state-capture-vcs1.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-tglb:         [DMESG-WARN][59] ([i915#402]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb5/igt@i915_pm_dc@dc5-psr.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb3/igt@i915_pm_dc@dc5-psr.html

  * igt@i915_pm_rps@waitboost:
    - shard-iclb:         [FAIL][61] ([i915#413]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb7/igt@i915_pm_rps@waitboost.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb3/igt@i915_pm_rps@waitboost.html

  * igt@i915_selftest@live_gtt:
    - shard-kbl:          [TIMEOUT][63] ([fdo#112271]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-kbl3/igt@i915_selftest@live_gtt.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-kbl3/igt@i915_selftest@live_gtt.html
    - shard-apl:          [TIMEOUT][65] ([fdo#112271]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-apl3/igt@i915_selftest@live_gtt.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-apl2/igt@i915_selftest@live_gtt.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180:
    - shard-tglb:         [DMESG-FAIL][67] ([i915#402]) -> [PASS][68] +2 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb6/igt@kms_ccs@pipe-a-crc-primary-rotation-180.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb1/igt@kms_ccs@pipe-a-crc-primary-rotation-180.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen:
    - shard-tglb:         [FAIL][69] ([fdo#111703]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb7/igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb6/igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled:
    - shard-tglb:         [FAIL][71] ([i915#559]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb7/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb8/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html

  * igt@kms_flip@flip-vs-panning-vs-hang-interruptible:
    - shard-hsw:          [DMESG-WARN][73] ([i915#44]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-hsw5/igt@kms_flip@flip-vs-panning-vs-hang-interruptible.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-hsw2/igt@kms_flip@flip-vs-panning-vs-hang-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][75] ([i915#180]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - shard-tglb:         [FAIL][77] ([i915#1183]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb8/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb3/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html

  * igt@kms_plane@plane-panning-top-left-pipe-a-planes:
    - shard-tglb:         [FAIL][79] ([i915#1171]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb2/igt@kms_plane@plane-panning-top-left-pipe-a-planes.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb5/igt@kms_plane@plane-panning-top-left-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-tglb:         [FAIL][81] ([i915#1184]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb1/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

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

  * igt@kms_plane_lowres@pipe-a-tiling-none:
    - shard-tglb:         [FAIL][85] ([i915#899]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-tglb6/igt@kms_plane_lowres@pipe-a-tiling-none.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-tglb7/igt@kms_plane_lowres@pipe-a-tiling-none.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [SKIP][87] ([fdo#109441]) -> [PASS][88] +2 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb3/igt@kms_psr@psr2_suspend.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb2/igt@kms_psr@psr2_suspend.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
    - shard-kbl:          [INCOMPLETE][89] ([fdo#103665]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-kbl3/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html

  * igt@kms_vblank@pipe-b-wait-forked:
    - shard-snb:          [SKIP][91] ([fdo#109271]) -> [PASS][92] +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-snb2/igt@kms_vblank@pipe-b-wait-forked.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-snb5/igt@kms_vblank@pipe-b-wait-forked.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][93] ([fdo#109276]) -> [PASS][94] +9 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb6/igt@prime_busy@hang-bsd2.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb1/igt@prime_busy@hang-bsd2.html

  
#### Warnings ####

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-snb:          [DMESG-WARN][95] ([fdo#111870] / [i915#478]) -> [DMESG-WARN][96] ([fdo#110789] / [fdo#111870] / [i915#478])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [DMESG-WARN][97] ([fdo#107724]) -> [SKIP][98] ([fdo#109349])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5425/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/shard-iclb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [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#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1139]: https://gitlab.freedesktop.org/drm/intel/issues/1139
  [i915#1171]: https://gitlab.freedesktop.org/drm/intel/issues/1171
  [i915#1183]: https://gitlab.freedesktop.org/drm/intel/issues/1183
  [i915#1184]: https://gitlab.freedesktop.org/drm/intel/issues/1184
  [i915#129]: https://gitlab.freedesktop.org/drm/intel/issues/129
  [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140
  [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#189]: https://gitlab.freedesktop.org/drm/intel/issues/189
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#559]: https://gitlab.freedesktop.org/drm/intel/issues/559
  [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
  [i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#70]: https://gitlab.freedesktop.org/drm/intel/issues/70
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#859]: https://gitlab.freedesktop.org/drm/intel/issues/859
  [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899


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

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5425 -> IGTPW_4112

  CI-20190529: 20190529
  CI_DRM_7885: fc2806bc441bfc6b44cf4713f3c6b820d73c3534 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4112: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4112/index.html
  IGT_5425: ad4542ef1adbaa1227bc9ba9e24bb0e0f6dd408d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines
  2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
                   ` (2 preceding siblings ...)
  2020-02-10 14:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-02-11 11:01 ` Katarzyna Dec
  2020-03-03 14:28 ` Chris Wilson
  4 siblings, 0 replies; 7+ messages in thread
From: Katarzyna Dec @ 2020-02-11 11:01 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

On Fri, Feb 07, 2020 at 06:29:41PM +0530, Arjun Melkaveri wrote:
> Replaced the legacy for_each_engine* defines with the ones
> implemented in the gem_engine_topology library.
> 
> Used  gem_context_clone_with_engines
> to make sure that engine index was potentially created
> based on a  default context with engine map configured
> 
> V2:
> 
> Added gem_reopen_driver and gem_context_copy_engines
> to transfer the engine map from parent fd default
> context.
LGTM. CI failures are not connected with this change.
I will merge it later.
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
Kasia :)
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Ursulin Tvrtko <tvrtko.ursulin@intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> ---
>  tests/i915/gem_ctx_create.c | 102 ++++++++++++++++++++++++++----------
>  1 file changed, 75 insertions(+), 27 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
> index d9a820e2..2c44a3e3 100644
> --- a/tests/i915/gem_ctx_create.c
> +++ b/tests/i915/gem_ctx_create.c
> @@ -100,11 +100,18 @@ static void files(int core, int timeout, const int ncpus)
>  	igt_fork(child, ncpus) {
>  		struct timespec start, end;
>  		unsigned count = 0;
> +		int fd;
>  
>  		clock_gettime(CLOCK_MONOTONIC, &start);
>  		do {
>  			do {
> -				int fd = drm_open_driver(DRIVER_INTEL);
> +				fd = gem_reopen_driver(core);
> +				/*
> +				 * Ensure the gpu is idle by launching
> +				 * a nop execbuf  and stalling for it.
> +				 */
> +				gem_quiescent_gpu(fd);
> +				gem_context_copy_engines(core, 0, fd, 0);
>  				obj.handle = gem_open(fd, name);
>  				execbuf.flags &= ~ENGINE_FLAGS;
>  				execbuf.flags |= ppgtt_engines[count % ppgtt_nengine];
> @@ -124,22 +131,22 @@ static void files(int core, int timeout, const int ncpus)
>  	gem_close(core, batch);
>  }
>  
> -static void active(int fd, unsigned engine, int timeout, int ncpus)
> +static void active(int fd, const struct intel_execution_engine2 *e,
> +		   int timeout, int ncpus)
>  {
>  	const uint32_t bbe = MI_BATCH_BUFFER_END;
>  	struct drm_i915_gem_execbuffer2 execbuf;
>  	struct drm_i915_gem_exec_object2 obj;
>  	unsigned int nengine, engines[16];
>  	unsigned *shared;
> -
> -	if (engine == ALL_ENGINES) {
> +	/* When e is NULL, test would run for all engines */
> +	if (!e) {
>  		igt_require(all_nengine);
>  		nengine = all_nengine;
>  		memcpy(engines, all_engines, sizeof(engines[0])*nengine);
>  	} else {
> -		gem_require_ring(fd, engine);
>  		nengine = 1;
> -		engines[0] = engine;
> +		engines[0] = e->flags;
>  	}
>  
>  	shared = mmap(NULL, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
> @@ -156,8 +163,17 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
>  	if (ncpus < 0) {
>  		igt_fork(child, ppgtt_nengine) {
>  			unsigned long count = 0;
> +			int i915;
> +
> +			i915 = gem_reopen_driver(fd);
> +			/*
> +			 * Ensure the gpu is idle by launching
> +			 * a nop execbuf and stalling for it
> +			 */
> +			gem_quiescent_gpu(i915);
> +			gem_context_copy_engines(fd, 0, i915, 0);
>  
> -			if (ppgtt_engines[child] == engine)
> +			if (ppgtt_engines[child] == e->flags)
>  				continue;
>  
>  			execbuf.flags = ppgtt_engines[child];
> @@ -179,11 +195,22 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
>  	igt_fork(child, ncpus) {
>  		struct timespec start, end;
>  		unsigned count = 0;
> +		int i915;
> +		uint32_t ctx;
> +
> +		i915 = gem_reopen_driver(fd);
> +		/*
> +		 * Ensure the gpu is idle by launching
> +		 * a nop execbuf and stalling for it.
> +		 */
> +		gem_quiescent_gpu(i915);
> +		ctx = gem_context_create(i915);
> +		gem_context_copy_engines(fd, 0, i915, ctx);
>  
>  		clock_gettime(CLOCK_MONOTONIC, &start);
>  		do {
>  			do {
> -				execbuf.rsvd1 = gem_context_create(fd);
> +				execbuf.rsvd1 = ctx;
>  				for (unsigned n = 0; n < nengine; n++) {
>  					execbuf.flags = engines[n];
>  					gem_execbuf(fd, &execbuf);
> @@ -276,7 +303,9 @@ static void maximum(int fd, int ncpus, unsigned mode)
>  
>  		err = -ENOMEM;
>  		if (avail_mem > (count + 1) * ctx_size)
> -			err = __gem_context_create(fd, &ctx_id);
> +			err =  __gem_context_clone(fd, 0,
> +						   I915_CONTEXT_CLONE_ENGINES,
> +						   0, &ctx_id);
>  		if (err) {
>  			igt_info("Created %lu contexts, before failing with '%s' [%d]\n",
>  				 count, strerror(-err), -err);
> @@ -297,9 +326,18 @@ static void maximum(int fd, int ncpus, unsigned mode)
>  
>  	igt_fork(child, ncpus) {
>  		struct timespec start, end;
> +		int i915;
> +
> +		i915 = gem_reopen_driver(fd);
> +		/*
> +		 * Ensure the gpu is idle by launching
> +		 * a nop execbuf and stalling for it.
> +		 */
> +		gem_quiescent_gpu(i915);
> +		gem_context_copy_engines(fd, 0, i915, 0);
>  
>  		hars_petruska_f54_1_random_perturb(child);
> -		obj[0].handle = gem_create(fd, 4096);
> +		obj[0].handle = gem_create(i915, 4096);
>  
>  		clock_gettime(CLOCK_MONOTONIC, &start);
>  		for (int repeat = 0; repeat < 3; repeat++) {
> @@ -310,13 +348,13 @@ static void maximum(int fd, int ncpus, unsigned mode)
>  				execbuf.rsvd1 = contexts[i];
>  				for (unsigned long j = 0; j < all_nengine; j++) {
>  					execbuf.flags = all_engines[j];
> -					gem_execbuf(fd, &execbuf);
> +					gem_execbuf(i915, &execbuf);
>  				}
>  			}
>  		}
> -		gem_sync(fd, obj[0].handle);
> +		gem_sync(i915, obj[0].handle);
>  		clock_gettime(CLOCK_MONOTONIC, &end);
> -		gem_close(fd, obj[0].handle);
> +		gem_close(i915, obj[0].handle);
>  
>  		igt_info("[%d] Context execution: %.3f us\n", child,
>  			 elapsed(&start, &end) / (3 * count * all_nengine) * 1e6);
> @@ -370,6 +408,7 @@ static void basic_ext_param(int i915)
>  
>  		gem_context_destroy(i915, create.ctx_id);
>  
> +
>  		/* Having demonstrated a valid setup, check a few invalids */
>  		ext.param.ctx_id = 1;
>  		igt_assert_eq(create_ext_ioctl(i915, &create), -EINVAL);
> @@ -524,6 +563,7 @@ igt_main
>  {
>  	const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
>  	struct drm_i915_gem_context_create create;
> +	const struct intel_execution_engine2 *e;
>  	int fd = -1;
>  
>  	igt_fixture {
> @@ -531,8 +571,8 @@ igt_main
>  		igt_require_gem(fd);
>  		gem_require_contexts(fd);
>  
> -		for_each_physical_engine(e, fd)
> -			all_engines[all_nengine++] = eb_ring(e);
> +		__for_each_physical_engine(fd, e)
> +			all_engines[all_nengine++] = e->flags;
>  		igt_require(all_nengine);
>  
>  		if (gem_uses_full_ppgtt(fd)) {
> @@ -572,20 +612,28 @@ igt_main
>  	igt_subtest("forked-files")
>  		files(fd, 20, ncpus);
>  
> +	/* NULL value means all engines */
>  	igt_subtest("active-all")
> -		active(fd, ALL_ENGINES, 20, 1);
> +		active(fd, NULL, 20, 1);
>  	igt_subtest("forked-active-all")
> -		active(fd, ALL_ENGINES, 20, ncpus);
> -
> -	for (const struct intel_execution_engine *e = intel_execution_engines;
> -	     e->name; e++) {
> -		igt_subtest_f("active-%s", e->name)
> -			active(fd, eb_ring(e), 20, 1);
> -		igt_subtest_f("forked-active-%s", e->name)
> -			active(fd, eb_ring(e), 20, ncpus);
> -		if (e->exec_id) {
> -			igt_subtest_f("hog-%s", e->name)
> -				active(fd, eb_ring(e), 20, -1);
> +		active(fd, NULL, 20, ncpus);
> +
> +	igt_subtest_with_dynamic("active") {
> +		__for_each_physical_engine(fd, e) {
> +			igt_dynamic_f("%s", e->name)
> +				active(fd, e, 20, 1);
> +		}
> +	}
> +	igt_subtest_with_dynamic("forked-active") {
> +		__for_each_physical_engine(fd, e) {
> +			igt_dynamic_f("%s", e->name)
> +				active(fd, e, 20, ncpus);
> +		}
> +	}
> +	igt_subtest_with_dynamic("hog") {
> +		__for_each_physical_engine(fd, e) {
> +			igt_dynamic_f("%s", e->name)
> +				active(fd, e, 20, -1);
>  		}
>  	}
>  
> -- 
> 2.24.0
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines
  2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
                   ` (3 preceding siblings ...)
  2020-02-11 11:01 ` [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Katarzyna Dec
@ 2020-03-03 14:28 ` Chris Wilson
  2020-03-03 14:33   ` Melkaveri, Arjun
  4 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2020-03-03 14:28 UTC (permalink / raw)
  To: arjun.melkaveri, igt-dev

Quoting Arjun Melkaveri (2020-02-07 12:59:41)
> @@ -179,11 +195,22 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
>         igt_fork(child, ncpus) {
>                 struct timespec start, end;
>                 unsigned count = 0;
> +               int i915;
> +               uint32_t ctx;
> +
> +               i915 = gem_reopen_driver(fd);
> +               /*
> +                * Ensure the gpu is idle by launching
> +                * a nop execbuf and stalling for it.
> +                */
> +               gem_quiescent_gpu(i915);
> +               ctx = gem_context_create(i915);
> +               gem_context_copy_engines(fd, 0, i915, ctx);
>  
>                 clock_gettime(CLOCK_MONOTONIC, &start);
>                 do {
>                         do {
> -                               execbuf.rsvd1 = gem_context_create(fd);
> +                               execbuf.rsvd1 = ctx;
>                                 for (unsigned n = 0; n < nengine; n++) {
>                                         execbuf.flags = engines[n];
>                                         gem_execbuf(fd, &execbuf);

Ahem. The point of the test was to create a new context, not keep using
a dead context.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines
  2020-03-03 14:28 ` Chris Wilson
@ 2020-03-03 14:33   ` Melkaveri, Arjun
  0 siblings, 0 replies; 7+ messages in thread
From: Melkaveri, Arjun @ 2020-03-03 14:33 UTC (permalink / raw)
  To: Chris Wilson, igt-dev


-----Original Message-----
From: Chris Wilson <chris@chris-wilson.co.uk> 
Sent: Tuesday, March 3, 2020 7:59 PM
To: Melkaveri, Arjun <arjun.melkaveri@intel.com>; igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines

Quoting Arjun Melkaveri (2020-02-07 12:59:41)
> @@ -179,11 +195,22 @@ static void active(int fd, unsigned engine, int timeout, int ncpus)
>         igt_fork(child, ncpus) {
>                 struct timespec start, end;
>                 unsigned count = 0;
> +               int i915;
> +               uint32_t ctx;
> +
> +               i915 = gem_reopen_driver(fd);
> +               /*
> +                * Ensure the gpu is idle by launching
> +                * a nop execbuf and stalling for it.
> +                */
> +               gem_quiescent_gpu(i915);
> +               ctx = gem_context_create(i915);
> +               gem_context_copy_engines(fd, 0, i915, ctx);
>  
>                 clock_gettime(CLOCK_MONOTONIC, &start);
>                 do {
>                         do {
> -                               execbuf.rsvd1 = gem_context_create(fd);
> +                               execbuf.rsvd1 = ctx;
>                                 for (unsigned n = 0; n < nengine; n++) {
>                                         execbuf.flags = engines[n];
>                                         gem_execbuf(fd, &execbuf);

Ahem. The point of the test was to create a new context, not keep using a dead context.
-Chris

Will correct it and send patch  , saw where I have gone wrong now . 

-Arjun 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-03-03 14:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-07 12:59 [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Arjun Melkaveri
2020-02-07 13:36 ` [igt-dev] ✗ GitLab.Pipeline: failure for gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines (rev3) Patchwork
2020-02-07 13:48 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2020-02-10 14:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-02-11 11:01 ` [igt-dev] [PATCH V3] [PATCH i-g-t] gem_ctx_create:Adjusted test to use __for_each_physical_engine to utilize all available engines Katarzyna Dec
2020-03-03 14:28 ` Chris Wilson
2020-03-03 14:33   ` Melkaveri, Arjun

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