public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests
@ 2020-03-02 10:31 Lionel Landwerlin
  2020-03-02 13:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf: add global sseu parameter tests (rev2) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Lionel Landwerlin @ 2020-03-02 10:31 UTC (permalink / raw)
  To: igt-dev

This new parameter allows the performance recording application to
specify what should be the sseu configurations of all contexts on the
system.

v2: require appropriate perf version
    check privileged operation

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 include/drm-uapi/i915_drm.h |  11 ++
 tests/perf.c                | 204 ++++++++++++++++++++++++++++++++++++
 2 files changed, 215 insertions(+)

diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
index 3794e768..db12ddd4 100644
--- a/include/drm-uapi/i915_drm.h
+++ b/include/drm-uapi/i915_drm.h
@@ -1969,6 +1969,17 @@ enum drm_i915_perf_property_id {
 	 */
 	DRM_I915_PERF_PROP_HOLD_PREEMPTION,
 
+	/**
+	 * Specifying this pins all contexts to the specified SSEU power
+	 * configuration for the duration of the recording.
+	 *
+	 * This parameter's value is a pointer to a struct
+	 * drm_i915_gem_context_param_sseu.
+	 *
+	 * This property is available in perf revision 4.
+	 */
+	DRM_I915_PERF_PROP_GLOBAL_SSEU,
+
 	DRM_I915_PERF_PROP_MAX /* non-ABI */
 };
 
diff --git a/tests/perf.c b/tests/perf.c
index 5e818030..a33af4d3 100644
--- a/tests/perf.c
+++ b/tests/perf.c
@@ -4035,6 +4035,183 @@ test_stress_open_close(void)
 	load_helper_fini();
 }
 
+static uint64_t mask_minus_one(uint64_t mask)
+{
+	unsigned int i;
+
+	for (i = 0; i < (sizeof(mask) * 8 - 1); i++) {
+		if ((1ULL << i) & mask)
+			return mask & ~(1ULL << i);
+	}
+
+	igt_assert(0);
+	return 0;
+}
+
+static uint64_t mask_plus_one(uint64_t mask)
+{
+	unsigned int i;
+
+	for (i = 0; i < (sizeof(mask) * 8 - 1); i++) {
+		if (((1ULL << i) & mask) == 0)
+			return mask | (1ULL << i);
+	}
+
+	igt_assert(0);
+	return 0;
+}
+
+static void
+test_global_sseu_config_invalid(void)
+{
+	struct drm_i915_gem_context_param_sseu default_sseu;
+	struct drm_i915_gem_context_param_sseu sseu_param;
+	struct drm_i915_gem_context_param ctx_gp = {
+		.param = I915_CONTEXT_PARAM_SSEU,
+		.size = sizeof(default_sseu),
+		.value = to_user_pointer(&default_sseu),
+	};
+	uint64_t properties[] = {
+		/* XXX: even without periodic sampling we have to
+		 * specify at least one sample layout property...
+		 */
+		DRM_I915_PERF_PROP_SAMPLE_OA, true,
+
+		/* OA unit configuration */
+		DRM_I915_PERF_PROP_OA_METRICS_SET, test_set->perf_oa_metrics_set,
+		DRM_I915_PERF_PROP_OA_FORMAT, test_set->perf_oa_format,
+		DRM_I915_PERF_PROP_OA_EXPONENT, oa_exp_1_millisec,
+		DRM_I915_PERF_PROP_GLOBAL_SSEU, to_user_pointer(&sseu_param),
+	};
+	struct drm_i915_perf_open_param param = {
+		.flags = I915_PERF_FLAG_FD_CLOEXEC |
+		I915_PERF_FLAG_DISABLED, /* XXX: open disabled */
+		.num_properties = NUM_PROPERTIES(properties),
+			.properties_ptr = to_user_pointer(properties),
+	};
+
+	memset(&default_sseu, 0, sizeof(default_sseu));
+	igt_require(__gem_context_get_param(drm_fd, &ctx_gp) == 0);
+
+	igt_debug("Default context sseu:\n");
+	igt_debug("   engine class/instance=%hu:%hu\n",
+		  default_sseu.engine.engine_class,
+		  default_sseu.engine.engine_instance);
+	igt_debug("   slice_mask=0x%llx\n", default_sseu.slice_mask);
+	igt_debug("   subslice_mask=0x%llx\n", default_sseu.subslice_mask);
+	igt_debug("   eu min/max=%hu/%hu\n",
+		  default_sseu.min_eus_per_subslice,
+		  default_sseu.max_eus_per_subslice);
+
+	/* Invalid engine class */
+	sseu_param = default_sseu;
+	sseu_param.engine.engine_class = -1;
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	/* Invalid engine instance */
+	sseu_param = default_sseu;
+	sseu_param.engine.engine_instance = -1;
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	/* Invalid slice mask */
+	sseu_param = default_sseu;
+	sseu_param.slice_mask = 0;
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	sseu_param = default_sseu;
+	sseu_param.slice_mask = mask_plus_one(sseu_param.slice_mask);
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	/* Invalid subslice mask */
+	sseu_param = default_sseu;
+	sseu_param.subslice_mask = 0;
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	sseu_param = default_sseu;
+	sseu_param.subslice_mask = mask_plus_one(sseu_param.subslice_mask);
+	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
+
+	/* Privileged operation */
+	if (__builtin_popcount(default_sseu.subslice_mask) > 1) {
+		igt_fork(child, 1) {
+			igt_drop_root();
+
+			sseu_param = default_sseu;
+			sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
+			do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EACCES);
+		}
+		igt_waitchildren();
+	}
+}
+
+static void
+test_global_sseu_config(void)
+{
+	struct drm_i915_gem_context_param_sseu default_sseu;
+	struct drm_i915_gem_context_param_sseu sseu_param;
+	struct drm_i915_gem_context_param ctx_gp = {
+		.param = I915_CONTEXT_PARAM_SSEU,
+		.size = sizeof(default_sseu),
+		.value = to_user_pointer(&default_sseu),
+	};
+	uint64_t properties[] = {
+		/* XXX: even without periodic sampling we have to
+		 * specify at least one sample layout property...
+		 */
+		DRM_I915_PERF_PROP_SAMPLE_OA, true,
+
+		/* OA unit configuration */
+		DRM_I915_PERF_PROP_OA_METRICS_SET, test_set->perf_oa_metrics_set,
+		DRM_I915_PERF_PROP_OA_FORMAT, test_set->perf_oa_format,
+		DRM_I915_PERF_PROP_OA_EXPONENT, oa_exp_1_millisec,
+		DRM_I915_PERF_PROP_GLOBAL_SSEU, to_user_pointer(&sseu_param),
+	};
+	struct drm_i915_perf_open_param param = {
+		.flags = I915_PERF_FLAG_FD_CLOEXEC |
+		I915_PERF_FLAG_DISABLED, /* XXX: open disabled */
+		.num_properties = NUM_PROPERTIES(properties),
+			.properties_ptr = to_user_pointer(properties),
+	};
+
+	memset(&default_sseu, 0, sizeof(default_sseu));
+	igt_require(__gem_context_get_param(drm_fd, &ctx_gp) == 0);
+
+	igt_debug("Default context sseu:\n");
+	igt_debug("   engine class/instance=%hu:%hu\n",
+		  default_sseu.engine.engine_class,
+		  default_sseu.engine.engine_instance);
+	igt_debug("   slice_mask=0x%llx\n", default_sseu.slice_mask);
+	igt_debug("   subslice_mask=0x%llx\n", default_sseu.subslice_mask);
+	igt_debug("   eu min/max=%hu/%hu\n",
+		  default_sseu.min_eus_per_subslice,
+		  default_sseu.max_eus_per_subslice);
+
+	igt_require(__builtin_popcount(default_sseu.subslice_mask) > 1);
+
+	write_u64_file("/proc/sys/dev/i915/perf_stream_paranoid", 0);
+
+	igt_fork(child, 1) {
+		igt_drop_root();
+
+		sseu_param = default_sseu;
+		sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
+
+		stream_fd = __perf_open(drm_fd, &param, false);
+		__perf_close(stream_fd);
+	}
+
+	igt_waitchildren();
+
+	write_u64_file("/proc/sys/dev/i915/perf_stream_paranoid", 1);
+
+
+	sseu_param = default_sseu;
+	sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
+
+	stream_fd = __perf_open(drm_fd, &param, false);
+	__perf_close(stream_fd);
+}
+
 static int __i915_perf_add_config(int fd, struct drm_i915_perf_oa_config *config)
 {
 	int ret = igt_ioctl(fd, DRM_IOCTL_I915_PERF_ADD_CONFIG, config);
@@ -4502,6 +4679,19 @@ test_sysctl_defaults(void)
 	igt_assert_eq(max_freq, 100000);
 }
 
+static int i915_perf_version(int fd)
+{
+	struct drm_i915_getparam gp;
+	int perf_version = -1;
+
+	memset(&gp, 0, sizeof(gp));
+	gp.param = I915_PARAM_PERF_REVISION;
+	gp.value = &perf_version;
+	igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
+
+	return perf_version;
+}
+
 igt_main
 {
 	igt_fixture {
@@ -4635,6 +4825,20 @@ igt_main
 	igt_subtest("stress-open-close")
 		test_stress_open_close();
 
+	igt_subtest_group {
+		igt_fixture {
+			igt_require(i915_perf_version(drm_fd) >= 4);
+		}
+
+		igt_describe("Verify invalid SSEU opening parameters");
+		igt_subtest("global-sseu-config-invalid")
+			test_global_sseu_config_invalid();
+
+		igt_describe("Verify specifying SSEU opening parameters");
+		igt_subtest("global-sseu-config")
+			test_global_sseu_config();
+	}
+
 	igt_subtest("invalid-create-userspace-config")
 		test_invalid_create_userspace_config();
 
-- 
2.25.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/perf: add global sseu parameter tests (rev2)
  2020-03-02 10:31 [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Lionel Landwerlin
@ 2020-03-02 13:21 ` Patchwork
  2020-03-02 23:31 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2020-03-16  9:39 ` [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Tvrtko Ursulin
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-03-02 13:21 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: igt-dev

== Series Details ==

Series: tests/perf: add global sseu parameter tests (rev2)
URL   : https://patchwork.freedesktop.org/series/74111/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8042 -> IGTPW_4244
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_render_linear_blits@basic:
    - fi-tgl-y:           [PASS][1] -> [DMESG-WARN][2] ([CI#94] / [i915#402]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-tgl-y/igt@gem_render_linear_blits@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-tgl-y/igt@gem_render_linear_blits@basic.html

  * igt@i915_selftest@live@active:
    - fi-icl-y:           [PASS][3] -> [DMESG-FAIL][4] ([i915#765])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-icl-y/igt@i915_selftest@live@active.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-icl-y/igt@i915_selftest@live@active.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-cml-u2:          [PASS][5] -> [FAIL][6] ([i915#217] / [i915#976])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gem_contexts:
    - fi-cml-s:           [DMESG-FAIL][7] ([i915#877]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-cml-s/igt@i915_selftest@live@gem_contexts.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-cml-s/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@gtt:
    - fi-bxt-dsi:         [INCOMPLETE][9] ([fdo#103927]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-bxt-dsi/igt@i915_selftest@live@gtt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-bxt-dsi/igt@i915_selftest@live@gtt.html

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

  * igt@vgem_basic@dmabuf-fence:
    - fi-tgl-y:           [DMESG-WARN][13] ([CI#94] / [i915#402]) -> [PASS][14] +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/fi-tgl-y/igt@vgem_basic@dmabuf-fence.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/fi-tgl-y/igt@vgem_basic@dmabuf-fence.html

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

  [CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460
  [i915#765]: https://gitlab.freedesktop.org/drm/intel/issues/765
  [i915#877]: https://gitlab.freedesktop.org/drm/intel/issues/877
  [i915#976]: https://gitlab.freedesktop.org/drm/intel/issues/976


Participating hosts (47 -> 46)
------------------------------

  Additional (5): fi-glk-dsi fi-bwr-2160 fi-elk-e7500 fi-bsw-kefka fi-blb-e6850 
  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5483 -> IGTPW_4244

  CI-20190529: 20190529
  CI_DRM_8042: d8191f679bee7619af0f3ec5b1848376a4cdab40 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4244: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/index.html
  IGT_5483: 1707153df224ffb6333c6c660a792b7f334eb3d3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@perf@global-sseu-config
+igt@perf@global-sseu-config-invalid

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/perf: add global sseu parameter tests (rev2)
  2020-03-02 10:31 [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Lionel Landwerlin
  2020-03-02 13:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf: add global sseu parameter tests (rev2) Patchwork
@ 2020-03-02 23:31 ` Patchwork
  2020-03-16  9:39 ` [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Tvrtko Ursulin
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-03-02 23:31 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: igt-dev

== Series Details ==

Series: tests/perf: add global sseu parameter tests (rev2)
URL   : https://patchwork.freedesktop.org/series/74111/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8042_full -> IGTPW_4244_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@perf@global-sseu-config} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][1] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb5/igt@perf@global-sseu-config.html
    - shard-tglb:         NOTRUN -> [SKIP][2] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb6/igt@perf@global-sseu-config.html

  
New tests
---------

  New tests have been introduced between CI_DRM_8042_full and IGTPW_4244_full:

### New IGT tests (2) ###

  * igt@perf@global-sseu-config:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@perf@global-sseu-config-invalid:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@close-race:
    - shard-tglb:         [PASS][3] -> [INCOMPLETE][4] ([i915#977])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-tglb8/igt@gem_busy@close-race.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb6/igt@gem_busy@close-race.html

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#112080]) +14 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb8/igt@gem_ctx_isolation@vcs1-nonpriv.html

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

  * igt@gem_exec_schedule@implicit-write-read-bsd1:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#109276] / [i915#677]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb2/igt@gem_exec_schedule@implicit-write-read-bsd1.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb6/igt@gem_exec_schedule@implicit-write-read-bsd1.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [PASS][11] -> [SKIP][12] ([i915#677]) +2 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb7/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb1/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#109276]) +18 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb2/igt@gem_exec_schedule@preempt-contexts-bsd2.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb6/igt@gem_exec_schedule@preempt-contexts-bsd2.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [PASS][15] -> [SKIP][16] ([fdo#112146]) +5 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb6/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@i915_pm_rps@reset:
    - shard-iclb:         [PASS][17] -> [FAIL][18] ([i915#413])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb5/igt@i915_pm_rps@reset.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb2/igt@i915_pm_rps@reset.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([i915#180]) +2 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-apl1/igt@i915_suspend@sysfs-reader.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-apl6/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [PASS][21] -> [FAIL][22] ([i915#72])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-glk:          [PASS][23] -> [FAIL][24] ([i915#978])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk1/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-tglb:         [PASS][25] -> [SKIP][26] ([i915#668]) +2 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-tglb2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-kbl:          [PASS][27] -> [DMESG-WARN][28] ([i915#180]) +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-kbl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109642] / [fdo#111068])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb6/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
    - shard-tglb:         [PASS][33] -> [SKIP][34] ([fdo#112015])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-tglb6/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb2/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
    - shard-iclb:         [PASS][35] -> [SKIP][36] ([fdo#109278])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb6/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb2/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
    - shard-glk:          [PASS][37] -> [SKIP][38] ([fdo#109271])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk9/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk8/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@pi-common-bsd:
    - shard-iclb:         [SKIP][39] ([i915#677]) -> [PASS][40] +2 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb2/igt@gem_exec_schedule@pi-common-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb8/igt@gem_exec_schedule@pi-common-bsd.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][41] ([fdo#112146]) -> [PASS][42] +7 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb4/igt@gem_exec_schedule@reorder-wide-bsd.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb6/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_exec_whisper@basic-queues-forked:
    - shard-tglb:         [INCOMPLETE][43] ([i915#750]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-tglb7/igt@gem_exec_whisper@basic-queues-forked.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb6/igt@gem_exec_whisper@basic-queues-forked.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-apl:          [FAIL][45] ([i915#644]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-apl3/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-apl7/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [DMESG-WARN][47] ([i915#716]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk2/igt@gen9_exec_parse@allowed-all.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk8/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_rpm@debugfs-forcewake-user:
    - shard-hsw:          [SKIP][49] ([fdo#109271]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw5/igt@i915_pm_rpm@debugfs-forcewake-user.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@i915_pm_rpm@debugfs-forcewake-user.html
    - shard-iclb:         [SKIP][51] ([i915#1316]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb8/igt@i915_pm_rpm@debugfs-forcewake-user.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb8/igt@i915_pm_rpm@debugfs-forcewake-user.html
    - shard-tglb:         [SKIP][53] ([i915#1316]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-tglb2/igt@i915_pm_rpm@debugfs-forcewake-user.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-tglb2/igt@i915_pm_rpm@debugfs-forcewake-user.html
    - shard-glk:          [SKIP][55] ([fdo#109271]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk6/igt@i915_pm_rpm@debugfs-forcewake-user.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk5/igt@i915_pm_rpm@debugfs-forcewake-user.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][57] ([i915#180]) -> [PASS][58] +3 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x42-sliding:
    - shard-apl:          [FAIL][59] ([i915#54]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-apl8/igt@kms_cursor_crc@pipe-b-cursor-128x42-sliding.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-apl6/igt@kms_cursor_crc@pipe-b-cursor-128x42-sliding.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-apl:          [DMESG-WARN][61] ([i915#180]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-apl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-glk:          [FAIL][63] ([i915#49]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [FAIL][65] ([i915#173]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb1/igt@kms_psr@no_drrs.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb5/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [SKIP][67] ([fdo#109441]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb8/igt@kms_psr@psr2_no_drrs.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb2/igt@kms_psr@psr2_no_drrs.html

  * {igt@perf@stress-open-close}:
    - shard-glk:          [INCOMPLETE][69] ([i915#1356] / [i915#58] / [k.org#198133]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-glk8/igt@perf@stress-open-close.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-glk4/igt@perf@stress-open-close.html

  * igt@perf_pmu@busy-no-semaphores-vcs1:
    - shard-iclb:         [SKIP][71] ([fdo#112080]) -> [PASS][72] +9 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb7/igt@perf_pmu@busy-no-semaphores-vcs1.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb4/igt@perf_pmu@busy-no-semaphores-vcs1.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [SKIP][73] ([fdo#109276]) -> [PASS][74] +16 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb5/igt@prime_vgem@fence-wait-bsd2.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html

  
#### Warnings ####

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-snb:          [DMESG-WARN][75] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [DMESG-WARN][76] ([fdo#111870] / [i915#478])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
    - shard-hsw:          [DMESG-WARN][77] ([fdo#110789] / [fdo#111870]) -> [DMESG-WARN][78] ([fdo#111870])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          [INCOMPLETE][79] ([fdo#103665]) -> [DMESG-WARN][80] ([i915#180])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-kbl6/igt@i915_suspend@fence-restore-untiled.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-kbl3/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][81] ([fdo#109349]) -> [DMESG-WARN][82] ([i915#1226])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-iclb8/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@runner@aborted:
    - shard-hsw:          ([FAIL][83], [FAIL][84], [FAIL][85], [FAIL][86], [FAIL][87], [FAIL][88], [FAIL][89], [FAIL][90], [FAIL][91]) ([fdo#111870] / [i915#1356]) -> ([FAIL][92], [FAIL][93], [FAIL][94], [FAIL][95], [FAIL][96], [FAIL][97], [FAIL][98], [FAIL][99], [FAIL][100]) ([fdo#111870])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw1/igt@runner@aborted.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw6/igt@runner@aborted.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw1/igt@runner@aborted.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw4/igt@runner@aborted.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw4/igt@runner@aborted.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw5/igt@runner@aborted.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw6/igt@runner@aborted.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw6/igt@runner@aborted.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8042/shard-hsw6/igt@runner@aborted.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@runner@aborted.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@runner@aborted.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@runner@aborted.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw1/igt@runner@aborted.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@runner@aborted.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw1/igt@runner@aborted.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw1/igt@runner@aborted.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw6/igt@runner@aborted.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/shard-hsw1/igt@runner@aborted.html

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

  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
  [i915#1316]: https://gitlab.freedesktop.org/drm/intel/issues/1316
  [i915#1356]: https://gitlab.freedesktop.org/drm/intel/issues/1356
  [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [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#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#750]: https://gitlab.freedesktop.org/drm/intel/issues/750
  [i915#977]: https://gitlab.freedesktop.org/drm/intel/issues/977
  [i915#978]: https://gitlab.freedesktop.org/drm/intel/issues/978
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


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

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5483 -> IGTPW_4244
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_8042: d8191f679bee7619af0f3ec5b1848376a4cdab40 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4244: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4244/index.html
  IGT_5483: 1707153df224ffb6333c6c660a792b7f334eb3d3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests
  2020-03-02 10:31 [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Lionel Landwerlin
  2020-03-02 13:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf: add global sseu parameter tests (rev2) Patchwork
  2020-03-02 23:31 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2020-03-16  9:39 ` Tvrtko Ursulin
  2 siblings, 0 replies; 4+ messages in thread
From: Tvrtko Ursulin @ 2020-03-16  9:39 UTC (permalink / raw)
  To: Lionel Landwerlin, igt-dev


On 02/03/2020 10:31, Lionel Landwerlin wrote:
> This new parameter allows the performance recording application to
> specify what should be the sseu configurations of all contexts on the
> system.
> 
> v2: require appropriate perf version
>      check privileged operation
> 
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> ---
>   include/drm-uapi/i915_drm.h |  11 ++
>   tests/perf.c                | 204 ++++++++++++++++++++++++++++++++++++
>   2 files changed, 215 insertions(+)
> 
> diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
> index 3794e768..db12ddd4 100644
> --- a/include/drm-uapi/i915_drm.h
> +++ b/include/drm-uapi/i915_drm.h
> @@ -1969,6 +1969,17 @@ enum drm_i915_perf_property_id {
>   	 */
>   	DRM_I915_PERF_PROP_HOLD_PREEMPTION,
>   
> +	/**
> +	 * Specifying this pins all contexts to the specified SSEU power
> +	 * configuration for the duration of the recording.
> +	 *
> +	 * This parameter's value is a pointer to a struct
> +	 * drm_i915_gem_context_param_sseu.
> +	 *
> +	 * This property is available in perf revision 4.
> +	 */
> +	DRM_I915_PERF_PROP_GLOBAL_SSEU,
> +
>   	DRM_I915_PERF_PROP_MAX /* non-ABI */
>   };
>   
> diff --git a/tests/perf.c b/tests/perf.c
> index 5e818030..a33af4d3 100644
> --- a/tests/perf.c
> +++ b/tests/perf.c
> @@ -4035,6 +4035,183 @@ test_stress_open_close(void)
>   	load_helper_fini();
>   }
>   
> +static uint64_t mask_minus_one(uint64_t mask)
> +{
> +	unsigned int i;
> +
> +	for (i = 0; i < (sizeof(mask) * 8 - 1); i++) {
> +		if ((1ULL << i) & mask)
> +			return mask & ~(1ULL << i);
> +	}
> +
> +	igt_assert(0);
> +	return 0;
> +}
> +
> +static uint64_t mask_plus_one(uint64_t mask)
> +{
> +	unsigned int i;
> +
> +	for (i = 0; i < (sizeof(mask) * 8 - 1); i++) {
> +		if (((1ULL << i) & mask) == 0)
> +			return mask | (1ULL << i);
> +	}
> +
> +	igt_assert(0);
> +	return 0;
> +}
> +
> +static void
> +test_global_sseu_config_invalid(void)
> +{
> +	struct drm_i915_gem_context_param_sseu default_sseu;
> +	struct drm_i915_gem_context_param_sseu sseu_param;
> +	struct drm_i915_gem_context_param ctx_gp = {
> +		.param = I915_CONTEXT_PARAM_SSEU,
> +		.size = sizeof(default_sseu),
> +		.value = to_user_pointer(&default_sseu),
> +	};
> +	uint64_t properties[] = {
> +		/* XXX: even without periodic sampling we have to
> +		 * specify at least one sample layout property...
> +		 */
> +		DRM_I915_PERF_PROP_SAMPLE_OA, true,
> +
> +		/* OA unit configuration */
> +		DRM_I915_PERF_PROP_OA_METRICS_SET, test_set->perf_oa_metrics_set,
> +		DRM_I915_PERF_PROP_OA_FORMAT, test_set->perf_oa_format,
> +		DRM_I915_PERF_PROP_OA_EXPONENT, oa_exp_1_millisec,
> +		DRM_I915_PERF_PROP_GLOBAL_SSEU, to_user_pointer(&sseu_param),
> +	};
> +	struct drm_i915_perf_open_param param = {
> +		.flags = I915_PERF_FLAG_FD_CLOEXEC |
> +		I915_PERF_FLAG_DISABLED, /* XXX: open disabled */
> +		.num_properties = NUM_PROPERTIES(properties),
> +			.properties_ptr = to_user_pointer(properties),
> +	};
> +
> +	memset(&default_sseu, 0, sizeof(default_sseu));
> +	igt_require(__gem_context_get_param(drm_fd, &ctx_gp) == 0);
> +
> +	igt_debug("Default context sseu:\n");
> +	igt_debug("   engine class/instance=%hu:%hu\n",
> +		  default_sseu.engine.engine_class,
> +		  default_sseu.engine.engine_instance);
> +	igt_debug("   slice_mask=0x%llx\n", default_sseu.slice_mask);
> +	igt_debug("   subslice_mask=0x%llx\n", default_sseu.subslice_mask);
> +	igt_debug("   eu min/max=%hu/%hu\n",
> +		  default_sseu.min_eus_per_subslice,
> +		  default_sseu.max_eus_per_subslice);
> +
> +	/* Invalid engine class */
> +	sseu_param = default_sseu;
> +	sseu_param.engine.engine_class = -1;
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	/* Invalid engine instance */
> +	sseu_param = default_sseu;
> +	sseu_param.engine.engine_instance = -1;
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	/* Invalid slice mask */
> +	sseu_param = default_sseu;
> +	sseu_param.slice_mask = 0;
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	sseu_param = default_sseu;
> +	sseu_param.slice_mask = mask_plus_one(sseu_param.slice_mask);
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	/* Invalid subslice mask */
> +	sseu_param = default_sseu;
> +	sseu_param.subslice_mask = 0;
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	sseu_param = default_sseu;
> +	sseu_param.subslice_mask = mask_plus_one(sseu_param.subslice_mask);
> +	do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EINVAL);
> +
> +	/* Privileged operation */
> +	if (__builtin_popcount(default_sseu.subslice_mask) > 1) {
> +		igt_fork(child, 1) {
> +			igt_drop_root();
> +
> +			sseu_param = default_sseu;
> +			sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
> +			do_ioctl_err(drm_fd, DRM_IOCTL_I915_PERF_OPEN, &param, EACCES);
> +		}
> +		igt_waitchildren();
> +	}
> +}
> +
> +static void
> +test_global_sseu_config(void)
> +{
> +	struct drm_i915_gem_context_param_sseu default_sseu;
> +	struct drm_i915_gem_context_param_sseu sseu_param;
> +	struct drm_i915_gem_context_param ctx_gp = {
> +		.param = I915_CONTEXT_PARAM_SSEU,
> +		.size = sizeof(default_sseu),
> +		.value = to_user_pointer(&default_sseu),
> +	};
> +	uint64_t properties[] = {
> +		/* XXX: even without periodic sampling we have to
> +		 * specify at least one sample layout property...
> +		 */
> +		DRM_I915_PERF_PROP_SAMPLE_OA, true,
> +
> +		/* OA unit configuration */
> +		DRM_I915_PERF_PROP_OA_METRICS_SET, test_set->perf_oa_metrics_set,
> +		DRM_I915_PERF_PROP_OA_FORMAT, test_set->perf_oa_format,
> +		DRM_I915_PERF_PROP_OA_EXPONENT, oa_exp_1_millisec,
> +		DRM_I915_PERF_PROP_GLOBAL_SSEU, to_user_pointer(&sseu_param),
> +	};
> +	struct drm_i915_perf_open_param param = {
> +		.flags = I915_PERF_FLAG_FD_CLOEXEC |
> +		I915_PERF_FLAG_DISABLED, /* XXX: open disabled */
> +		.num_properties = NUM_PROPERTIES(properties),
> +			.properties_ptr = to_user_pointer(properties),
> +	};
> +
> +	memset(&default_sseu, 0, sizeof(default_sseu));
> +	igt_require(__gem_context_get_param(drm_fd, &ctx_gp) == 0);
> +
> +	igt_debug("Default context sseu:\n");
> +	igt_debug("   engine class/instance=%hu:%hu\n",
> +		  default_sseu.engine.engine_class,
> +		  default_sseu.engine.engine_instance);
> +	igt_debug("   slice_mask=0x%llx\n", default_sseu.slice_mask);
> +	igt_debug("   subslice_mask=0x%llx\n", default_sseu.subslice_mask);
> +	igt_debug("   eu min/max=%hu/%hu\n",
> +		  default_sseu.min_eus_per_subslice,
> +		  default_sseu.max_eus_per_subslice);

Could pull to helper.

> +
> +	igt_require(__builtin_popcount(default_sseu.subslice_mask) > 1);
> +
> +	write_u64_file("/proc/sys/dev/i915/perf_stream_paranoid", 0);
> +
> +	igt_fork(child, 1) {
> +		igt_drop_root();
> +
> +		sseu_param = default_sseu;
> +		sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
> +
> +		stream_fd = __perf_open(drm_fd, &param, false);
> +		__perf_close(stream_fd);
> +	}
> +
> +	igt_waitchildren();
> +
> +	write_u64_file("/proc/sys/dev/i915/perf_stream_paranoid", 1);
> +
> +
> +	sseu_param = default_sseu;
> +	sseu_param.subslice_mask = mask_minus_one(sseu_param.subslice_mask);
> +
> +	stream_fd = __perf_open(drm_fd, &param, false);
> +	__perf_close(stream_fd);
> +}
> +
>   static int __i915_perf_add_config(int fd, struct drm_i915_perf_oa_config *config)
>   {
>   	int ret = igt_ioctl(fd, DRM_IOCTL_I915_PERF_ADD_CONFIG, config);
> @@ -4502,6 +4679,19 @@ test_sysctl_defaults(void)
>   	igt_assert_eq(max_freq, 100000);
>   }
>   
> +static int i915_perf_version(int fd)
> +{
> +	struct drm_i915_getparam gp;
> +	int perf_version = -1;
> +
> +	memset(&gp, 0, sizeof(gp));
> +	gp.param = I915_PARAM_PERF_REVISION;
> +	gp.value = &perf_version;
> +	igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
> +
> +	return perf_version;
> +}
> +
>   igt_main
>   {
>   	igt_fixture {
> @@ -4635,6 +4825,20 @@ igt_main
>   	igt_subtest("stress-open-close")
>   		test_stress_open_close();
>   
> +	igt_subtest_group {
> +		igt_fixture {
> +			igt_require(i915_perf_version(drm_fd) >= 4);
> +		}
> +
> +		igt_describe("Verify invalid SSEU opening parameters");
> +		igt_subtest("global-sseu-config-invalid")
> +			test_global_sseu_config_invalid();
> +
> +		igt_describe("Verify specifying SSEU opening parameters");
> +		igt_subtest("global-sseu-config")
> +			test_global_sseu_config();
> +	}
> +
>   	igt_subtest("invalid-create-userspace-config")
>   		test_invalid_create_userspace_config();
>   
> 

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

Regards,

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

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

end of thread, other threads:[~2020-03-16  9:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-02 10:31 [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Lionel Landwerlin
2020-03-02 13:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf: add global sseu parameter tests (rev2) Patchwork
2020-03-02 23:31 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2020-03-16  9:39 ` [igt-dev] [PATCH i-g-t v2] tests/perf: add global sseu parameter tests Tvrtko Ursulin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox