All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest
@ 2022-03-18 16:04 Kamil Konieczny
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class Kamil Konieczny
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Kamil Konieczny @ 2022-03-18 16:04 UTC (permalink / raw)
  To: igt-dev

Lower time for active subtest in gem_ctx_create to about 80s.
First patch adds lib function for choosing random engine from
each class, second lower number of engines on which subtest is
run.

Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>

Kamil Konieczny (2):
  lib/i915/gem_engine_topology: add iterator for choosing one random
    engine from each class
  i915/gem_ctx_create: lower time of active subtest

 lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
 lib/i915/gem_engine_topology.h | 19 ++++++++++
 tests/i915/gem_ctx_create.c    |  2 +-
 3 files changed, 84 insertions(+), 1 deletion(-)

-- 
2.32.0

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

* [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class
  2022-03-18 16:04 [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
@ 2022-03-18 16:04 ` Kamil Konieczny
  2022-03-21  9:52   ` Petri Latvala
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 2/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Kamil Konieczny @ 2022-03-18 16:04 UTC (permalink / raw)
  To: igt-dev

In new GPUs there are many engines so tests with fixed timeout
which iterate over all engines can take much longer than on older
gens. Add new iterator for_one_random_cfg_ctx_engine, which will
iterate over each class of engines and will choose one from each
class at random.

Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
 lib/i915/gem_engine_topology.h | 19 ++++++++++
 2 files changed, 83 insertions(+)

diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
index ca3333c2..52a2f3ef 100644
--- a/lib/i915/gem_engine_topology.c
+++ b/lib/i915/gem_engine_topology.c
@@ -208,6 +208,70 @@ void intel_next_engine(struct intel_engine_data *ed)
 	}
 }
 
+static void __intel_random_init(void)
+{
+	struct timespec start;
+
+	clock_gettime(CLOCK_MONOTONIC, &start);
+	igt_debug("seed %d\n", (int)start.tv_nsec);
+	srand((int)start.tv_nsec);
+}
+
+static void __intel_find_random_engine(struct intel_engine_data *ed)
+{
+	struct intel_execution_engine2 *ce = ed->current_engine;
+	struct intel_execution_engine2 *next = ce;
+	uint16_t class = ce->class;
+	uint32_t i;
+	uint32_t n;
+
+	n = ed->n;
+	while (class == next->class && n < ed->nengines) {
+		++next;
+		++n;
+	}
+
+	i = n - ed->n;
+	if (i > 1)
+		ed->n += rand() % i;
+
+	ed->current_engine = &ed->engines[ed->n];
+}
+
+struct intel_execution_engine2 *
+intel_get_random_engine(struct intel_engine_data *ed)
+{
+	if (!ed->n) {
+		__intel_random_init();
+		ed->current_engine = &ed->engines[0];
+		__intel_find_random_engine(ed);
+	}
+
+	return ed->current_engine;
+}
+
+void intel_next_random_engine(struct intel_engine_data *ed)
+{
+	struct intel_execution_engine2 *ce = ed->current_engine;
+	uint16_t class;
+
+	if (!ce)
+		return;
+
+	class = ce->class;
+	while (ce->class == class && ed->n < ed->nengines) {
+		ed->n++;
+		++ce;
+	}
+
+	if (ed->n == ed->nengines)
+		ed->current_engine = NULL;
+	else {
+		ed->current_engine = ce;
+		__intel_find_random_engine(ed);
+	}
+}
+
 struct intel_execution_engine2 *
 intel_get_current_physical_engine(struct intel_engine_data *ed)
 {
diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h
index 987f2bf9..cad5b46b 100644
--- a/lib/i915/gem_engine_topology.h
+++ b/lib/i915/gem_engine_topology.h
@@ -61,6 +61,10 @@ intel_get_current_physical_engine(struct intel_engine_data *ed);
 
 void intel_next_engine(struct intel_engine_data *ed);
 
+struct intel_execution_engine2 *
+intel_get_random_engine(struct intel_engine_data *ed);
+void intel_next_random_engine(struct intel_engine_data *ed);
+
 bool gem_engine_is_equal(const struct intel_execution_engine2 *e1,
 			 const struct intel_execution_engine2 *e2);
 
@@ -89,6 +93,21 @@ struct intel_execution_engine2 gem_eb_flags_to_engine(unsigned int flags);
 	     ((e__) = intel_get_current_engine(&i__##e__)); \
 	     intel_next_engine(&i__##e__))
 
+/**
+ * for_one_random_ctx_cfg_engine
+ * @fd__: open i915 drm file descriptor
+ * @ctx_cfg__: Intel context config
+ * @e__: struct intel_execution_engine2 iterator
+ *
+ * Choose one random engine from each class of physical engine in the context
+ * config
+ */
+#define for_one_random_ctx_cfg_engine(fd__, ctx_cfg__, e__) \
+	for (struct intel_engine_data i__##e__ = \
+		intel_engine_list_for_ctx_cfg(fd__, ctx_cfg__); \
+	     ((e__) = intel_get_random_engine(&i__##e__)); \
+	     intel_next_random_engine(&i__##e__))
+
 /**
  * for_each_ctx_engine
  * @fd__: open i915 drm file descriptor
-- 
2.32.0

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

* [igt-dev] [PATCH i-g-t 2/2] i915/gem_ctx_create: lower time of active subtest
  2022-03-18 16:04 [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class Kamil Konieczny
@ 2022-03-18 16:04 ` Kamil Konieczny
  2022-03-18 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2022-03-18 18:17 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Kamil Konieczny @ 2022-03-18 16:04 UTC (permalink / raw)
  To: igt-dev

Active subtest check for old context reclaim in driver and
repeat this for each engine for 20 seconds. On old gpu gens
there are low number of engines so it runs in reasonable time,
but on new ones it can take as long as over 800s. Lower total
time taken by running it for only one engine from each class.
Choose engine to run at random so every egnine will be tested in
long run on CI.

Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/i915/gem_ctx_create.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 44846652..df71227e 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -618,7 +618,7 @@ igt_main
 		active(fd, &cfg, NULL, 20, ncpus);
 
 	igt_subtest_with_dynamic("active") {
-		for_each_ctx_cfg_engine(fd, &cfg, e) {
+		for_one_random_ctx_cfg_engine(fd, &cfg, e) {
 			igt_dynamic_f("%s", e->name)
 				active(fd, &cfg, e, 20, 1);
 		}
-- 
2.32.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for i915/gem_ctx_create: lower time of active subtest
  2022-03-18 16:04 [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class Kamil Konieczny
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 2/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
@ 2022-03-18 16:51 ` Patchwork
  2022-03-18 18:17 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2022-03-18 16:51 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 6579 bytes --]

== Series Details ==

Series: i915/gem_ctx_create: lower time of active subtest
URL   : https://patchwork.freedesktop.org/series/101538/
State : success

== Summary ==

CI Bug Log - changes from IGT_6386 -> IGTPW_6802
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (46 -> 44)
------------------------------

  Missing    (2): fi-bsw-cyan fi-bdw-samus 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-6:          [PASS][1] -> [INCOMPLETE][2] ([i915#4418])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/bat-dg1-6/igt@i915_selftest@live@gt_engines.html

  * igt@runner@aborted:
    - fi-bdw-5557u:       NOTRUN -> [FAIL][3] ([i915#2426] / [i915#4312])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/fi-bdw-5557u/igt@runner@aborted.html
    - bat-dg1-6:          NOTRUN -> [FAIL][4] ([i915#4312] / [i915#5257])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/bat-dg1-6/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - fi-bdw-5557u:       [INCOMPLETE][5] ([i915#146]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3@smem.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3@smem.html
    - {fi-rkl-11600}:     [INCOMPLETE][7] ([i915#5127]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@i915_pm_rpm@module-reload:
    - {bat-rpls-2}:       [DMESG-WARN][9] ([i915#4391]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/bat-rpls-2/igt@i915_pm_rpm@module-reload.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/bat-rpls-2/igt@i915_pm_rpm@module-reload.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-6:          [FAIL][11] ([i915#4032]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/bat-dg1-6/igt@i915_pm_rps@basic-api.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/bat-dg1-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@coherency:
    - {bat-rpls-2}:       [INCOMPLETE][13] -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/bat-rpls-2/igt@i915_selftest@live@coherency.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/bat-rpls-2/igt@i915_selftest@live@coherency.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
    - fi-cfl-8109u:       [DMESG-WARN][15] ([i915#295]) -> [PASS][16] +11 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c:
    - fi-cfl-8109u:       [DMESG-WARN][17] ([i915#295] / [i915#5341]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#4032]: https://gitlab.freedesktop.org/drm/intel/issues/4032
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5127]: https://gitlab.freedesktop.org/drm/intel/issues/5127
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5337]: https://gitlab.freedesktop.org/drm/intel/issues/5337
  [i915#5339]: https://gitlab.freedesktop.org/drm/intel/issues/5339
  [i915#5341]: https://gitlab.freedesktop.org/drm/intel/issues/5341
  [i915#5342]: https://gitlab.freedesktop.org/drm/intel/issues/5342


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6386 -> IGTPW_6802

  CI-20190529: 20190529
  CI_DRM_11380: fe83949cd4316608ea785fc376b6ed444224adad @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_6802: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/index.html
  IGT_6386: 0fcd59ad25b2960c0b654f90dfe4dd9e7c7b874d @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/index.html

[-- Attachment #2: Type: text/html, Size: 6056 bytes --]

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

* [igt-dev] ✓ Fi.CI.IGT: success for i915/gem_ctx_create: lower time of active subtest
  2022-03-18 16:04 [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
                   ` (2 preceding siblings ...)
  2022-03-18 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2022-03-18 18:17 ` Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2022-03-18 18:17 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 30267 bytes --]

== Series Details ==

Series: i915/gem_ctx_create: lower time of active subtest
URL   : https://patchwork.freedesktop.org/series/101538/
State : success

== Summary ==

CI Bug Log - changes from IGT_6386_full -> IGTPW_6802_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Additional (1): shard-rkl 

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

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

### IGT changes ###

#### Suppressed ####

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

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - {shard-tglu}:       [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-tglu-2/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglu-2/igt@gem_ctx_isolation@preservation-s3@rcs0.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_param@set-priority-not-supported:
    - shard-tglb:         NOTRUN -> [SKIP][3] ([fdo#109314])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb8/igt@gem_ctx_param@set-priority-not-supported.html
    - shard-iclb:         NOTRUN -> [SKIP][4] ([fdo#109314])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@gem_ctx_param@set-priority-not-supported.html

  * igt@gem_ctx_persistence@engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-snb7/igt@gem_ctx_persistence@engines-mixed.html

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         [PASS][6] -> [FAIL][7] ([i915#232]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-tglb6/igt@gem_eio@unwedge-stress.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-kbl:          NOTRUN -> [FAIL][8] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-glk:          NOTRUN -> [FAIL][9] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk2/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-kbl:          [PASS][10] -> [FAIL][11] ([i915#2842]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-kbl7/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl3/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [PASS][12] -> [FAIL][13] ([i915#2842])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-glk:          [PASS][14] -> [FAIL][15] ([i915#2842]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-glk2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk3/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][16] ([i915#2842]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-iclb:         [PASS][17] -> [FAIL][18] ([i915#2842])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-iclb7/igt@gem_exec_fair@basic-pace@vecs0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][19] ([i915#2842]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-tglb:         NOTRUN -> [SKIP][20] ([fdo#109313])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb7/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_params@no-vebox:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([fdo#109283] / [i915#4877])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@gem_exec_params@no-vebox.html

  * igt@gem_lmem_swapping@random-engines:
    - shard-apl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#4613]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl7/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_mmap_gtt@fault-concurrent-x:
    - shard-snb:          [PASS][23] -> [INCOMPLETE][24] ([i915#5161])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-snb5/igt@gem_mmap_gtt@fault-concurrent-x.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-snb2/igt@gem_mmap_gtt@fault-concurrent-x.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-kbl:          NOTRUN -> [WARN][25] ([i915#2658])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl4/igt@gem_pwrite@basic-exhaustion.html
    - shard-tglb:         NOTRUN -> [WARN][26] ([i915#2658])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb3/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_pxp@regular-baseline-src-copy-readible:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#4270]) +5 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb2/igt@gem_pxp@regular-baseline-src-copy-readible.html

  * igt@gem_pxp@reject-modify-context-protection-off-3:
    - shard-iclb:         NOTRUN -> [SKIP][28] ([i915#4270]) +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb5/igt@gem_pxp@reject-modify-context-protection-off-3.html

  * igt@gem_render_copy@yf-tiled-to-vebox-linear:
    - shard-iclb:         NOTRUN -> [SKIP][29] ([i915#768]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb3/igt@gem_render_copy@yf-tiled-to-vebox-linear.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#109312])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb3/igt@gem_softpin@evict-snoop-interruptible.html
    - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#109312])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb6/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([fdo#110542])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb7/igt@gem_userptr_blits@coherency-sync.html
    - shard-iclb:         NOTRUN -> [SKIP][33] ([fdo#109290])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb5/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-kbl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3323])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl6/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3323])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gen3_render_mixed_blits:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([fdo#109289]) +2 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb6/igt@gen3_render_mixed_blits.html

  * igt@gen7_exec_parse@basic-offset:
    - shard-apl:          NOTRUN -> [SKIP][37] ([fdo#109271]) +159 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl7/igt@gen7_exec_parse@basic-offset.html

  * igt@gen7_exec_parse@chained-batch:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109289]) +1 similar issue
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb8/igt@gen7_exec_parse@chained-batch.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-iclb:         NOTRUN -> [SKIP][39] ([i915#2856])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb5/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#2527] / [i915#2856]) +2 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#1937])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl2/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#111644] / [i915#1397] / [i915#2411])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#110892])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#109506] / [i915#2411])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][45] ([fdo#109293] / [fdo#109506])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          [PASS][46] -> [DMESG-WARN][47] ([i915#180]) +2 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-apl1/igt@i915_suspend@fence-restore-tiled2untiled.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl3/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-0:
    - shard-iclb:         NOTRUN -> [SKIP][48] ([i915#5286])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb5/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([i915#5286]) +2 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@linear-32bpp-rotate-0:
    - shard-glk:          NOTRUN -> [DMESG-WARN][50] ([i915#118])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk3/igt@kms_big_fb@linear-32bpp-rotate-0.html

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([fdo#111614]) +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#110725] / [fdo#111614]) +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#3777])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-90:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#110723]) +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb1/igt@kms_big_fb@yf-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([fdo#111615]) +8 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb8/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-kbl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#3777]) +1 similar issue
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][57] ([fdo#109278] / [i915#3886]) +7 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb8/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][58] ([i915#3689]) +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs.html

  * igt@kms_ccs@pipe-a-random-ccs-data-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([fdo#111615] / [i915#3689]) +6 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_ccs@pipe-a-random-ccs-data-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][60] ([i915#3689] / [i915#3886]) +7 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#3886]) +7 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk8/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html
    - shard-apl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#3886]) +8 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl6/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#3886]) +11 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl1/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - shard-iclb:         NOTRUN -> [SKIP][64] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb3/igt@kms_chamelium@hdmi-hpd-enable-disable-mode.html
    - shard-snb:          NOTRUN -> [SKIP][65] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-snb4/igt@kms_chamelium@hdmi-hpd-enable-disable-mode.html

  * igt@kms_chamelium@hdmi-hpd-for-each-pipe:
    - shard-kbl:          NOTRUN -> [SKIP][66] ([fdo#109271] / [fdo#111827]) +14 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl3/igt@kms_chamelium@hdmi-hpd-for-each-pipe.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-5:
    - shard-apl:          NOTRUN -> [SKIP][67] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl6/igt@kms_color_chamelium@pipe-a-ctm-0-5.html

  * igt@kms_color_chamelium@pipe-d-ctm-0-25:
    - shard-glk:          NOTRUN -> [SKIP][68] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk4/igt@kms_color_chamelium@pipe-d-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-d-ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][69] ([fdo#109284] / [fdo#111827]) +14 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb3/igt@kms_color_chamelium@pipe-d-ctm-max.html

  * igt@kms_color_chamelium@pipe-d-ctm-negative:
    - shard-iclb:         NOTRUN -> [SKIP][70] ([fdo#109278] / [fdo#109284] / [fdo#111827]) +2 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb6/igt@kms_color_chamelium@pipe-d-ctm-negative.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-iclb:         NOTRUN -> [SKIP][71] ([i915#3116])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][72] ([i915#1319]) +1 similar issue
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl3/igt@kms_content_protection@lic.html
    - shard-iclb:         NOTRUN -> [SKIP][73] ([fdo#109300] / [fdo#111066])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb1/igt@kms_content_protection@lic.html
    - shard-tglb:         NOTRUN -> [SKIP][74] ([i915#1063]) +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_content_protection@lic.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][75] ([i915#1319])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl7/igt@kms_content_protection@lic.html

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][76] ([i915#3359]) +6 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-a-cursor-512x512-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][77] ([fdo#109278] / [fdo#109279]) +2 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@kms_cursor_crc@pipe-a-cursor-512x512-offscreen.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][78] ([i915#3319]) +1 similar issue
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb7/igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][79] ([fdo#109279] / [i915#3359]) +6 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][80] ([fdo#109271]) +169 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl3/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-tglb:         NOTRUN -> [SKIP][81] ([fdo#109274] / [fdo#111825]) +6 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb2/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-iclb:         NOTRUN -> [SKIP][82] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-render-4tiled:
    - shard-tglb:         NOTRUN -> [SKIP][83] ([i915#5287])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_draw_crc@draw-method-xrgb2101010-render-4tiled.html

  * igt@kms_dsc@basic-dsc-enable:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([i915#3840])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb3/igt@kms_dsc@basic-dsc-enable.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-tglb:         NOTRUN -> [SKIP][85] ([fdo#109274] / [fdo#111825] / [i915#3966])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][86] ([fdo#109274]) +1 similar issue
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-apl:          NOTRUN -> [DMESG-WARN][87] ([i915#180]) +2 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl8/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-tglb:         NOTRUN -> [SKIP][88] ([i915#2587]) +1 similar issue
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
    - shard-iclb:         [PASS][89] -> [SKIP][90] ([i915#3701])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite:
    - shard-glk:          [PASS][91] -> [FAIL][92] ([i915#1888] / [i915#2546])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt:
    - shard-iclb:         NOTRUN -> [SKIP][93] ([fdo#109280]) +21 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][94] ([fdo#109280] / [fdo#111825]) +35 similar issues
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence:
    - shard-snb:          NOTRUN -> [SKIP][95] ([fdo#109271]) +129 similar issues
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-snb5/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html
    - shard-iclb:         NOTRUN -> [SKIP][96] ([fdo#109278]) +22 similar issues
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html
    - shard-glk:          NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#533])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk7/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html
    - shard-apl:          NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#533]) +2 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl8/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html
    - shard-kbl:          NOTRUN -> [SKIP][99] ([fdo#109271] / [i915#533])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl4/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][100] ([fdo#108145] / [i915#265]) +4 similar issues
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl1/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-glk:          NOTRUN -> [FAIL][101] ([fdo#108145] / [i915#265]) +1 similar issue
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk8/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html
    - shard-apl:          NOTRUN -> [FAIL][102] ([fdo#108145] / [i915#265])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

  * igt@kms_plane_lowres@pipe-b-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][103] ([fdo#111615] / [fdo#112054])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb2/igt@kms_plane_lowres@pipe-b-tiling-yf.html
    - shard-iclb:         NOTRUN -> [SKIP][104] ([i915#3536])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb8/igt@kms_plane_lowres@pipe-b-tiling-yf.html

  * igt@kms_plane_lowres@pipe-d-tiling-y:
    - shard-tglb:         NOTRUN -> [SKIP][105] ([i915#3536]) +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_plane_lowres@pipe-d-tiling-y.html

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-4:
    - shard-tglb:         NOTRUN -> [SKIP][106] ([i915#5288]) +1 similar issue
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-c-tiling-4.html

  * igt@kms_plane_scaling@downscale-with-rotation-factor-0-25@pipe-a-edp-1-downscale-with-rotation:
    - shard-iclb:         NOTRUN -> [SKIP][107] ([i915#5176]) +2 similar issues
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb2/igt@kms_plane_scaling@downscale-with-rotation-factor-0-25@pipe-a-edp-1-downscale-with-rotation.html

  * igt@kms_plane_scaling@downscale-with-rotation-factor-0-25@pipe-c-edp-1-downscale-with-rotation:
    - shard-tglb:         NOTRUN -> [SKIP][108] ([i915#5176]) +3 similar issues
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb8/igt@kms_plane_scaling@downscale-with-rotation-factor-0-25@pipe-c-edp-1-downscale-with-rotation.html

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping:
    - shard-iclb:         [PASS][109] -> [INCOMPLETE][110] ([i915#5243])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-iclb6/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb2/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-kbl:          NOTRUN -> [SKIP][111] ([fdo#109271] / [i915#658]) +1 similar issue
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-kbl3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
    - shard-tglb:         NOTRUN -> [SKIP][112] ([i915#2920])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area:
    - shard-apl:          NOTRUN -> [SKIP][113] ([fdo#109271] / [i915#658]) +1 similar issue
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl8/igt@kms_psr2_sf@plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-tglb:         NOTRUN -> [SKIP][114] ([i915#1911])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb6/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-tglb:         NOTRUN -> [FAIL][115] ([i915#132] / [i915#3467]) +2 similar issues
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_psr@psr2_cursor_plane_onoff.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [PASS][116] -> [SKIP][117] ([fdo#109441])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6386/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb5/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         NOTRUN -> [SKIP][118] ([fdo#109441]) +1 similar issue
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb7/igt@kms_psr@psr2_suspend.html

  * igt@kms_vblank@pipe-d-query-busy-hang:
    - shard-glk:          NOTRUN -> [SKIP][119] ([fdo#109271]) +66 similar issues
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk9/igt@kms_vblank@pipe-d-query-busy-hang.html

  * igt@kms_vrr@flip-basic:
    - shard-tglb:         NOTRUN -> [SKIP][120] ([fdo#109502])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@kms_vrr@flip-basic.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-apl:          NOTRUN -> [SKIP][121] ([fdo#109271] / [i915#2437])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-apl3/igt@kms_writeback@writeback-fb-id.html

  * igt@nouveau_crc@pipe-a-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][122] ([i915#2530])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb1/igt@nouveau_crc@pipe-a-source-rg.html
    - shard-tglb:         NOTRUN -> [SKIP][123] ([i915#2530])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb5/igt@nouveau_crc@pipe-a-source-rg.html

  * igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name:
    - shard-iclb:         NOTRUN -> [SKIP][124] ([fdo#109291]) +1 similar issue
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-iclb4/igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name.html

  * igt@prime_nv_pcopy@test3_1:
    - shard-tglb:         NOTRUN -> [SKIP][125] ([fdo#109291]) +4 similar issues
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb6/igt@prime_nv_pcopy@test3_1.html

  * igt@sysfs_clients@create:
    - shard-glk:          NOTRUN -> [SKIP][126] ([fdo#109271] / [i915#2994]) +1 similar issue
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-glk5/igt@sysfs_clients@create.html
    - shard-tglb:         NOTRUN -> [SKIP][127] ([i915#2994]) +2 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/shard-tglb1/igt@sysfs_clients@create.html

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6802/index.html

[-- Attachment #2: Type: text/html, Size: 33897 bytes --]

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class
  2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class Kamil Konieczny
@ 2022-03-21  9:52   ` Petri Latvala
  2022-03-21 12:28     ` Tvrtko Ursulin
  0 siblings, 1 reply; 9+ messages in thread
From: Petri Latvala @ 2022-03-21  9:52 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

On Fri, Mar 18, 2022 at 05:04:44PM +0100, Kamil Konieczny wrote:
> In new GPUs there are many engines so tests with fixed timeout
> which iterate over all engines can take much longer than on older
> gens. Add new iterator for_one_random_cfg_ctx_engine, which will
> iterate over each class of engines and will choose one from each
> class at random.
> 
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
>  lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
>  lib/i915/gem_engine_topology.h | 19 ++++++++++
>  2 files changed, 83 insertions(+)
> 
> diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
> index ca3333c2..52a2f3ef 100644
> --- a/lib/i915/gem_engine_topology.c
> +++ b/lib/i915/gem_engine_topology.c
> @@ -208,6 +208,70 @@ void intel_next_engine(struct intel_engine_data *ed)
>  	}
>  }
>  
> +static void __intel_random_init(void)
> +{
> +	struct timespec start;
> +
> +	clock_gettime(CLOCK_MONOTONIC, &start);
> +	igt_debug("seed %d\n", (int)start.tv_nsec);
> +	srand((int)start.tv_nsec);
> +}

I don't like randomness for testing, but it sure is sometimes needed.

We have quite a bit of rand()-using tests and some of them have a
--seed parameter so their results can be reproduced. Currently there's
no overlap in sight with them and this thing, but if testing ever
expands that way, mixing RNGs might break reproduceability. Can this
instead use another RNG stream that's self-contained, like maybe
rand_r() or such? Or the one implemented in lib/igt_rand.


-- 
Petri Latvala



> +
> +static void __intel_find_random_engine(struct intel_engine_data *ed)
> +{
> +	struct intel_execution_engine2 *ce = ed->current_engine;
> +	struct intel_execution_engine2 *next = ce;
> +	uint16_t class = ce->class;
> +	uint32_t i;
> +	uint32_t n;
> +
> +	n = ed->n;
> +	while (class == next->class && n < ed->nengines) {
> +		++next;
> +		++n;
> +	}
> +
> +	i = n - ed->n;
> +	if (i > 1)
> +		ed->n += rand() % i;
> +
> +	ed->current_engine = &ed->engines[ed->n];
> +}
> +
> +struct intel_execution_engine2 *
> +intel_get_random_engine(struct intel_engine_data *ed)
> +{
> +	if (!ed->n) {
> +		__intel_random_init();
> +		ed->current_engine = &ed->engines[0];
> +		__intel_find_random_engine(ed);
> +	}
> +
> +	return ed->current_engine;
> +}
> +
> +void intel_next_random_engine(struct intel_engine_data *ed)
> +{
> +	struct intel_execution_engine2 *ce = ed->current_engine;
> +	uint16_t class;
> +
> +	if (!ce)
> +		return;
> +
> +	class = ce->class;
> +	while (ce->class == class && ed->n < ed->nengines) {
> +		ed->n++;
> +		++ce;
> +	}
> +
> +	if (ed->n == ed->nengines)
> +		ed->current_engine = NULL;
> +	else {
> +		ed->current_engine = ce;
> +		__intel_find_random_engine(ed);
> +	}
> +}
> +
>  struct intel_execution_engine2 *
>  intel_get_current_physical_engine(struct intel_engine_data *ed)
>  {
> diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h
> index 987f2bf9..cad5b46b 100644
> --- a/lib/i915/gem_engine_topology.h
> +++ b/lib/i915/gem_engine_topology.h
> @@ -61,6 +61,10 @@ intel_get_current_physical_engine(struct intel_engine_data *ed);
>  
>  void intel_next_engine(struct intel_engine_data *ed);
>  
> +struct intel_execution_engine2 *
> +intel_get_random_engine(struct intel_engine_data *ed);
> +void intel_next_random_engine(struct intel_engine_data *ed);
> +
>  bool gem_engine_is_equal(const struct intel_execution_engine2 *e1,
>  			 const struct intel_execution_engine2 *e2);
>  
> @@ -89,6 +93,21 @@ struct intel_execution_engine2 gem_eb_flags_to_engine(unsigned int flags);
>  	     ((e__) = intel_get_current_engine(&i__##e__)); \
>  	     intel_next_engine(&i__##e__))
>  
> +/**
> + * for_one_random_ctx_cfg_engine
> + * @fd__: open i915 drm file descriptor
> + * @ctx_cfg__: Intel context config
> + * @e__: struct intel_execution_engine2 iterator
> + *
> + * Choose one random engine from each class of physical engine in the context
> + * config
> + */
> +#define for_one_random_ctx_cfg_engine(fd__, ctx_cfg__, e__) \
> +	for (struct intel_engine_data i__##e__ = \
> +		intel_engine_list_for_ctx_cfg(fd__, ctx_cfg__); \
> +	     ((e__) = intel_get_random_engine(&i__##e__)); \
> +	     intel_next_random_engine(&i__##e__))
> +
>  /**
>   * for_each_ctx_engine
>   * @fd__: open i915 drm file descriptor
> -- 
> 2.32.0
> 

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class
  2022-03-21  9:52   ` Petri Latvala
@ 2022-03-21 12:28     ` Tvrtko Ursulin
  2022-03-22  7:44       ` Zbigniew Kempczyński
  0 siblings, 1 reply; 9+ messages in thread
From: Tvrtko Ursulin @ 2022-03-21 12:28 UTC (permalink / raw)
  To: Petri Latvala, Kamil Konieczny; +Cc: igt-dev


On 21/03/2022 09:52, Petri Latvala wrote:
> On Fri, Mar 18, 2022 at 05:04:44PM +0100, Kamil Konieczny wrote:
>> In new GPUs there are many engines so tests with fixed timeout
>> which iterate over all engines can take much longer than on older
>> gens. Add new iterator for_one_random_cfg_ctx_engine, which will
>> iterate over each class of engines and will choose one from each
>> class at random.
>>
>> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
>> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
>> ---
>>   lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
>>   lib/i915/gem_engine_topology.h | 19 ++++++++++
>>   2 files changed, 83 insertions(+)
>>
>> diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
>> index ca3333c2..52a2f3ef 100644
>> --- a/lib/i915/gem_engine_topology.c
>> +++ b/lib/i915/gem_engine_topology.c
>> @@ -208,6 +208,70 @@ void intel_next_engine(struct intel_engine_data *ed)
>>   	}
>>   }
>>   
>> +static void __intel_random_init(void)
>> +{
>> +	struct timespec start;
>> +
>> +	clock_gettime(CLOCK_MONOTONIC, &start);
>> +	igt_debug("seed %d\n", (int)start.tv_nsec);
>> +	srand((int)start.tv_nsec);
>> +}
> 
> I don't like randomness for testing, but it sure is sometimes needed.
> 
> We have quite a bit of rand()-using tests and some of them have a
> --seed parameter so their results can be reproduced. Currently there's
> no overlap in sight with them and this thing, but if testing ever
> expands that way, mixing RNGs might break reproduceability. Can this
> instead use another RNG stream that's self-contained, like maybe
> rand_r() or such? Or the one implemented in lib/igt_rand.

Agreed, for developer use it is an essential requirement to be able to 
run a test multiple times with same parameters. So any test which would 
be converted to use for_one_random_ctx_cfg_engine would need to have a 
common way of specifying a stable config.

Hm if we look at the end result:

  	igt_subtest_with_dynamic("active") {
-		for_each_ctx_cfg_engine(fd, &cfg, e) {
+		for_one_random_ctx_cfg_engine(fd, &cfg, e) {
  			igt_dynamic_f("%s", e->name)
  				active(fd, &cfg, e, 20, 1);
  		}

Would that even work better at the test runner layer? New testlist 
syntax to pick one random out of a list of dynamic subtests?

Regards,

Tvrtko

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class
  2022-03-21 12:28     ` Tvrtko Ursulin
@ 2022-03-22  7:44       ` Zbigniew Kempczyński
  2022-04-20 10:59         ` Kamil Konieczny
  0 siblings, 1 reply; 9+ messages in thread
From: Zbigniew Kempczyński @ 2022-03-22  7:44 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev, Petri Latvala

On Mon, Mar 21, 2022 at 12:28:58PM +0000, Tvrtko Ursulin wrote:
> 
> On 21/03/2022 09:52, Petri Latvala wrote:
> > On Fri, Mar 18, 2022 at 05:04:44PM +0100, Kamil Konieczny wrote:
> > > In new GPUs there are many engines so tests with fixed timeout
> > > which iterate over all engines can take much longer than on older
> > > gens. Add new iterator for_one_random_cfg_ctx_engine, which will
> > > iterate over each class of engines and will choose one from each
> > > class at random.
> > > 
> > > Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > > Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> > > ---
> > >   lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
> > >   lib/i915/gem_engine_topology.h | 19 ++++++++++
> > >   2 files changed, 83 insertions(+)
> > > 
> > > diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
> > > index ca3333c2..52a2f3ef 100644
> > > --- a/lib/i915/gem_engine_topology.c
> > > +++ b/lib/i915/gem_engine_topology.c
> > > @@ -208,6 +208,70 @@ void intel_next_engine(struct intel_engine_data *ed)
> > >   	}
> > >   }
> > > +static void __intel_random_init(void)
> > > +{
> > > +	struct timespec start;
> > > +
> > > +	clock_gettime(CLOCK_MONOTONIC, &start);
> > > +	igt_debug("seed %d\n", (int)start.tv_nsec);
> > > +	srand((int)start.tv_nsec);
> > > +}
> > 
> > I don't like randomness for testing, but it sure is sometimes needed.
> > 
> > We have quite a bit of rand()-using tests and some of them have a
> > --seed parameter so their results can be reproduced. Currently there's
> > no overlap in sight with them and this thing, but if testing ever
> > expands that way, mixing RNGs might break reproduceability. Can this
> > instead use another RNG stream that's self-contained, like maybe
> > rand_r() or such? Or the one implemented in lib/igt_rand.
> 
> Agreed, for developer use it is an essential requirement to be able to run a
> test multiple times with same parameters. So any test which would be
> converted to use for_one_random_ctx_cfg_engine would need to have a common
> way of specifying a stable config.
> 
> Hm if we look at the end result:
> 
>  	igt_subtest_with_dynamic("active") {
> -		for_each_ctx_cfg_engine(fd, &cfg, e) {
> +		for_one_random_ctx_cfg_engine(fd, &cfg, e) {
>  			igt_dynamic_f("%s", e->name)
>  				active(fd, &cfg, e, 20, 1);
>  		}
> 
> Would that even work better at the test runner layer? New testlist syntax to
> pick one random out of a list of dynamic subtests?

Getting random engine is prone for two problems:

1. if we have same seed we always choose same engine in single test
   (as igt_runner is executing tests in separate processes we lost randomness
    at all)

2. if we have different seed we will have fluctuations on e->name across
   different runs. I don't know how CI will react if subtest will be rcs0
   then bcs0 in next run. 

I think subtest name crc/hash would be good seed, it would allow us to 
keep same engine across runs for single subtest and selecting different 
engines across subtests.

--
Zbigniew


> 
> Regards,
> 
> Tvrtko

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class
  2022-03-22  7:44       ` Zbigniew Kempczyński
@ 2022-04-20 10:59         ` Kamil Konieczny
  0 siblings, 0 replies; 9+ messages in thread
From: Kamil Konieczny @ 2022-04-20 10:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Dnia 2022-03-22 at 08:44:54 +0100, Zbigniew Kempczyński napisał(a):
> On Mon, Mar 21, 2022 at 12:28:58PM +0000, Tvrtko Ursulin wrote:
> > 
> > On 21/03/2022 09:52, Petri Latvala wrote:
> > > On Fri, Mar 18, 2022 at 05:04:44PM +0100, Kamil Konieczny wrote:
> > > > In new GPUs there are many engines so tests with fixed timeout
> > > > which iterate over all engines can take much longer than on older
> > > > gens. Add new iterator for_one_random_cfg_ctx_engine, which will
> > > > iterate over each class of engines and will choose one from each
> > > > class at random.
> > > > 
> > > > Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > > > Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> > > > ---
> > > >   lib/i915/gem_engine_topology.c | 64 ++++++++++++++++++++++++++++++++++
> > > >   lib/i915/gem_engine_topology.h | 19 ++++++++++
> > > >   2 files changed, 83 insertions(+)
> > > > 
> > > > diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
> > > > index ca3333c2..52a2f3ef 100644
> > > > --- a/lib/i915/gem_engine_topology.c
> > > > +++ b/lib/i915/gem_engine_topology.c
> > > > @@ -208,6 +208,70 @@ void intel_next_engine(struct intel_engine_data *ed)
> > > >   	}
> > > >   }
> > > > +static void __intel_random_init(void)
> > > > +{
> > > > +	struct timespec start;
> > > > +
> > > > +	clock_gettime(CLOCK_MONOTONIC, &start);
> > > > +	igt_debug("seed %d\n", (int)start.tv_nsec);
> > > > +	srand((int)start.tv_nsec);
> > > > +}
> > > 
> > > I don't like randomness for testing, but it sure is sometimes needed.
> > > 
> > > We have quite a bit of rand()-using tests and some of them have a
> > > --seed parameter so their results can be reproduced. Currently there's
> > > no overlap in sight with them and this thing, but if testing ever
> > > expands that way, mixing RNGs might break reproduceability. Can this
> > > instead use another RNG stream that's self-contained, like maybe
> > > rand_r() or such? Or the one implemented in lib/igt_rand.
> > 
> > Agreed, for developer use it is an essential requirement to be able to run a
> > test multiple times with same parameters. So any test which would be
> > converted to use for_one_random_ctx_cfg_engine would need to have a common
> > way of specifying a stable config.
> > 
> > Hm if we look at the end result:
> > 
> >  	igt_subtest_with_dynamic("active") {
> > -		for_each_ctx_cfg_engine(fd, &cfg, e) {
> > +		for_one_random_ctx_cfg_engine(fd, &cfg, e) {
> >  			igt_dynamic_f("%s", e->name)
> >  				active(fd, &cfg, e, 20, 1);
> >  		}
> > 
> > Would that even work better at the test runner layer? New testlist syntax to
> > pick one random out of a list of dynamic subtests?
> 
> Getting random engine is prone for two problems:
> 
> 1. if we have same seed we always choose same engine in single test
>    (as igt_runner is executing tests in separate processes we lost randomness
>     at all)
> 
> 2. if we have different seed we will have fluctuations on e->name across
>    different runs. I don't know how CI will react if subtest will be rcs0
>    then bcs0 in next run. 
> 
> I think subtest name crc/hash would be good seed, it would allow us to 
> keep same engine across runs for single subtest and selecting different 
> engines across subtests.
> 
> --
> Zbigniew
> 
> 
> > 
> > Regards,
> > 
> > Tvrtko

Maybe following will be better and will not confuse CI:

        igt_subtest("active-random") {
		igt_random_seed();
		for_one_random_ctx_cfg_engine(fd, &cfg, e) {
		    active(fd, &cfg, e, 20, 1);
	}

Function igt_random_seed will use evnironment var IGT_SEED
and if not present will use time(), then it will print its seed.

Regards,
Kamil

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

end of thread, other threads:[~2022-04-20 10:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18 16:04 [igt-dev] [PATCH i-g-t 0/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_engine_topology: add iterator for choosing one random engine from each class Kamil Konieczny
2022-03-21  9:52   ` Petri Latvala
2022-03-21 12:28     ` Tvrtko Ursulin
2022-03-22  7:44       ` Zbigniew Kempczyński
2022-04-20 10:59         ` Kamil Konieczny
2022-03-18 16:04 ` [igt-dev] [PATCH i-g-t 2/2] i915/gem_ctx_create: lower time of active subtest Kamil Konieczny
2022-03-18 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2022-03-18 18:17 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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