All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test
@ 2023-01-25  7:15 Riana Tauro
  2023-01-25  7:53 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Riana Tauro @ 2023-01-25  7:15 UTC (permalink / raw)
  To: igt-dev; +Cc: tvrtko.ursulin

add a test that verifies the i915 pmu directory and
reads all the events

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 lib/igt_perf.c        | 11 +++++++++++
 lib/igt_perf.h        |  1 +
 tests/i915/perf_pmu.c | 30 ++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/lib/igt_perf.c b/lib/igt_perf.c
index 11c91c5f..ffe078ad 100644
--- a/lib/igt_perf.c
+++ b/lib/igt_perf.c
@@ -1,5 +1,6 @@
 #include <errno.h>
 #include <fcntl.h>
+#include <limits.h>
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
@@ -98,6 +99,16 @@ uint64_t igt_perf_type_id(const char *device)
 	return strtoull(buf, NULL, 0);
 }
 
+int igt_perf_events_dir(int i915)
+{
+	char buf[80];
+	char path[PATH_MAX];
+
+	i915_perf_device(i915, buf, sizeof(buf));
+	snprintf(path, sizeof(path), "/sys/bus/event_source/devices/%s/events", buf);
+	return open(path, O_RDONLY);
+}
+
 static int
 _perf_open(uint64_t type, uint64_t config, int group, uint64_t format)
 {
diff --git a/lib/igt_perf.h b/lib/igt_perf.h
index 672bfea6..4d86e31a 100644
--- a/lib/igt_perf.h
+++ b/lib/igt_perf.h
@@ -54,6 +54,7 @@ perf_event_open(struct perf_event_attr *attr,
 }
 
 uint64_t igt_perf_type_id(const char *device);
+int igt_perf_events_dir(int i915);
 int igt_perf_open(uint64_t type, uint64_t config);
 int igt_perf_open_group(uint64_t type, uint64_t config, int group);
 
diff --git a/tests/i915/perf_pmu.c b/tests/i915/perf_pmu.c
index f363db2b..1251da0f 100644
--- a/tests/i915/perf_pmu.c
+++ b/tests/i915/perf_pmu.c
@@ -2132,6 +2132,32 @@ static void test_unload(unsigned int num_engines)
 	igt_assert_eq(__igt_i915_driver_unload(NULL), 0);
 }
 
+static void pmu_read(int i915)
+{
+	char val[128];
+	int pmu_fd;
+	struct dirent *de;
+	DIR *dir;
+
+	pmu_fd = igt_perf_events_dir(i915);
+	igt_require(pmu_fd >= 0);
+
+	dir = fdopendir(dup(pmu_fd));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG)
+			continue;
+
+		igt_assert(igt_sysfs_scanf(pmu_fd, de->d_name, "%127s", val) == 1);
+		igt_debug("'%s': %s\n", de->d_name, val);
+	}
+
+	closedir(dir);
+	close(pmu_fd);
+}
+
 #define test_each_engine(T, i915, ctx, e) \
 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
 		igt_dynamic_f("%s", e->name)
@@ -2167,6 +2193,10 @@ igt_main
 		igt_require(num_engines);
 	}
 
+	igt_describe("Verify i915 pmu dir exists and read all events");
+	igt_subtest("pmu-read")
+		pmu_read(fd);
+
 	/**
 	 * Test invalid access via perf API is rejected.
 	 */
-- 
2.39.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/perf_pmu: Add a basic perf_pmu test
  2023-01-25  7:15 [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test Riana Tauro
@ 2023-01-25  7:53 ` Patchwork
  2023-01-25 13:28 ` [igt-dev] [PATCH i-g-t] " Riana Tauro
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2023-01-25  7:53 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

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

== Series Details ==

Series: tests/i915/perf_pmu: Add a basic perf_pmu test
URL   : https://patchwork.freedesktop.org/series/113303/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12631 -> IGTPW_8400
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (39 -> 36)
------------------------------

  Missing    (3): fi-kbl-soraka fi-bsw-kefka fi-cfl-8700k 

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_gttfill@basic:
    - fi-pnv-d510:        [FAIL][1] ([i915#7229]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/fi-pnv-d510/igt@gem_exec_gttfill@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/fi-pnv-d510/igt@gem_exec_gttfill@basic.html

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

  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794
  [i915#7229]: https://gitlab.freedesktop.org/drm/intel/issues/7229


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7136 -> IGTPW_8400

  CI-20190529: 20190529
  CI_DRM_12631: 6bcfacd291ed6ff1ff50a295f970c98d54eabe05 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8400: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/index.html
  IGT_7136: 31b6af91747ad8c705399c9006cdb81cb1864146 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@perf_pmu@pmu-read
-igt@gem_exec3_balancer@parallel-ordering
-igt@gem_exec3_basic@basic
-igt@gem_lmem_swapping@vm_bind
-igt@gem_shrink@vm_bind
-igt@gem_shrink@vm_bind-oom
-igt@gem_shrink@vm_bind-sanitycheck
-igt@gem_shrink@vm_bind-userptr
-igt@gem_shrink@vm_bind-userptr-dirty
-igt@gem_userptr_blits@vma-merge-execbuf3
-igt@i915_vm_bind_basic@2m
-igt@i915_vm_bind_basic@2m_sync_bind
-igt@i915_vm_bind_basic@64k
-igt@i915_vm_bind_basic@basic
-igt@i915_vm_bind_basic@multi_cmds
-igt@i915_vm_bind_basic@multi_ctxts
-igt@i915_vm_bind_basic@share_vm
-igt@i915_vm_bind_basic@skip_copy
-igt@i915_vm_bind_basic@skip_unbind
-igt@i915_vm_bind_capture@basic
-igt@i915_vm_bind_sanity@basic

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test
  2023-01-25  7:15 [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test Riana Tauro
  2023-01-25  7:53 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2023-01-25 13:28 ` Riana Tauro
  2023-01-25 13:47 ` [igt-dev] ✗ Fi.CI.IGT: failure for " Patchwork
  2023-01-30 18:45 ` [igt-dev] [PATCH i-g-t] " Umesh Nerlige Ramappa
  3 siblings, 0 replies; 5+ messages in thread
From: Riana Tauro @ 2023-01-25 13:28 UTC (permalink / raw)
  To: igt-dev, Umesh Nerlige Ramappa, ashutosh.dixit; +Cc: tvrtko.ursulin

++umesh.nerlige.ramappa@intel.com

On 1/25/2023 12:45 PM, Riana Tauro wrote:
> add a test that verifies the i915 pmu directory and
> reads all the events
> 
> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
> ---
>   lib/igt_perf.c        | 11 +++++++++++
>   lib/igt_perf.h        |  1 +
>   tests/i915/perf_pmu.c | 30 ++++++++++++++++++++++++++++++
>   3 files changed, 42 insertions(+)
> 
> diff --git a/lib/igt_perf.c b/lib/igt_perf.c
> index 11c91c5f..ffe078ad 100644
> --- a/lib/igt_perf.c
> +++ b/lib/igt_perf.c
> @@ -1,5 +1,6 @@
>   #include <errno.h>
>   #include <fcntl.h>
> +#include <limits.h>
>   #include <stdint.h>
>   #include <stdlib.h>
>   #include <string.h>
> @@ -98,6 +99,16 @@ uint64_t igt_perf_type_id(const char *device)
>   	return strtoull(buf, NULL, 0);
>   }
>   
> +int igt_perf_events_dir(int i915)
> +{
> +	char buf[80];
> +	char path[PATH_MAX];
> +
> +	i915_perf_device(i915, buf, sizeof(buf));
> +	snprintf(path, sizeof(path), "/sys/bus/event_source/devices/%s/events", buf);
> +	return open(path, O_RDONLY);
> +}
> +
>   static int
>   _perf_open(uint64_t type, uint64_t config, int group, uint64_t format)
>   {
> diff --git a/lib/igt_perf.h b/lib/igt_perf.h
> index 672bfea6..4d86e31a 100644
> --- a/lib/igt_perf.h
> +++ b/lib/igt_perf.h
> @@ -54,6 +54,7 @@ perf_event_open(struct perf_event_attr *attr,
>   }
>   
>   uint64_t igt_perf_type_id(const char *device);
> +int igt_perf_events_dir(int i915);
>   int igt_perf_open(uint64_t type, uint64_t config);
>   int igt_perf_open_group(uint64_t type, uint64_t config, int group);
>   
> diff --git a/tests/i915/perf_pmu.c b/tests/i915/perf_pmu.c
> index f363db2b..1251da0f 100644
> --- a/tests/i915/perf_pmu.c
> +++ b/tests/i915/perf_pmu.c
> @@ -2132,6 +2132,32 @@ static void test_unload(unsigned int num_engines)
>   	igt_assert_eq(__igt_i915_driver_unload(NULL), 0);
>   }
>   
> +static void pmu_read(int i915)
> +{
> +	char val[128];
> +	int pmu_fd;
> +	struct dirent *de;
> +	DIR *dir;
> +
> +	pmu_fd = igt_perf_events_dir(i915);
> +	igt_require(pmu_fd >= 0);
> +
> +	dir = fdopendir(dup(pmu_fd));
> +	igt_assert(dir);
> +	rewinddir(dir);
> +
> +	while ((de = readdir(dir))) {
> +		if (de->d_type != DT_REG)
> +			continue;
> +
> +		igt_assert(igt_sysfs_scanf(pmu_fd, de->d_name, "%127s", val) == 1);
> +		igt_debug("'%s': %s\n", de->d_name, val);
> +	}
> +
> +	closedir(dir);
> +	close(pmu_fd);
> +}
> +
>   #define test_each_engine(T, i915, ctx, e) \
>   	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
>   		igt_dynamic_f("%s", e->name)
> @@ -2167,6 +2193,10 @@ igt_main
>   		igt_require(num_engines);
>   	}
>   
> +	igt_describe("Verify i915 pmu dir exists and read all events");
> +	igt_subtest("pmu-read")
> +		pmu_read(fd);
> +
>   	/**
>   	 * Test invalid access via perf API is rejected.
>   	 */

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

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/i915/perf_pmu: Add a basic perf_pmu test
  2023-01-25  7:15 [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test Riana Tauro
  2023-01-25  7:53 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2023-01-25 13:28 ` [igt-dev] [PATCH i-g-t] " Riana Tauro
@ 2023-01-25 13:47 ` Patchwork
  2023-01-30 18:45 ` [igt-dev] [PATCH i-g-t] " Umesh Nerlige Ramappa
  3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2023-01-25 13:47 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

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

== Series Details ==

Series: tests/i915/perf_pmu: Add a basic perf_pmu test
URL   : https://patchwork.freedesktop.org/series/113303/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12631_full -> IGTPW_8400_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_8400_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_8400_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

Participating hosts (12 -> 10)
------------------------------

  Missing    (2): pig-skl-6260u pig-kbl-iris 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-apl:          [PASS][1] -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-apl6/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl6/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  
New tests
---------

  New tests have been introduced between CI_DRM_12631_full and IGTPW_8400_full:

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

  * igt@perf_pmu@pmu-read:
    - Statuses : 6 pass(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gen9_exec_parse@allowed-all:
    - shard-apl:          [PASS][3] -> [DMESG-WARN][4] ([i915#5566] / [i915#716])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-apl7/igt@gen9_exec_parse@allowed-all.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl1/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_rps@engine-order:
    - shard-apl:          [PASS][5] -> [FAIL][6] ([i915#6537])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-apl7/igt@i915_pm_rps@engine-order.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl2/igt@i915_pm_rps@engine-order.html

  * igt@kms_vblank@pipe-c-query-busy-hang:
    - shard-snb:          NOTRUN -> [SKIP][7] ([fdo#109271]) +15 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-snb7/igt@kms_vblank@pipe-c-query-busy-hang.html

  * igt@perf@oa-exponents:
    - shard-glk:          [PASS][8] -> [INCOMPLETE][9] ([i915#5213])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-glk9/igt@perf@oa-exponents.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-glk6/igt@perf@oa-exponents.html

  * igt@runner@aborted:
    - shard-apl:          NOTRUN -> [FAIL][10] ([fdo#109271] / [i915#4312])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl1/igt@runner@aborted.html
    - shard-glk:          NOTRUN -> [FAIL][11] ([i915#4312])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-glk6/igt@runner@aborted.html

  * igt@sysfs_timeslice_duration@timeout@vecs0:
    - shard-apl:          [PASS][12] -> [FAIL][13] ([i915#1755])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-apl2/igt@sysfs_timeslice_duration@timeout@vecs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl1/igt@sysfs_timeslice_duration@timeout@vecs0.html

  
#### Possible fixes ####

  * igt@api_intel_bb@object-reloc-keep-cache:
    - {shard-rkl}:        [SKIP][14] ([i915#3281]) -> [PASS][15] +3 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-4/igt@api_intel_bb@object-reloc-keep-cache.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
    - {shard-rkl}:        [FAIL][16] ([i915#7742]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-3/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-2/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html

  * igt@fbdev@write:
    - {shard-rkl}:        [SKIP][18] ([i915#2582]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-2/igt@fbdev@write.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@fbdev@write.html

  * igt@gem_eio@reset-stress:
    - {shard-dg1}:        [FAIL][20] ([i915#5784]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-dg1-14/igt@gem_eio@reset-stress.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-dg1-12/igt@gem_eio@reset-stress.html

  * igt@gem_eio@suspend:
    - {shard-rkl}:        [FAIL][22] ([i915#7052]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-4/igt@gem_eio@suspend.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-2/igt@gem_eio@suspend.html

  * igt@gem_exec_fair@basic-deadline:
    - {shard-rkl}:        [FAIL][24] ([i915#2846]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-3/igt@gem_exec_fair@basic-deadline.html
    - shard-glk:          [FAIL][26] ([i915#2846]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-glk8/igt@gem_exec_fair@basic-deadline.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-glk8/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-glk:          [FAIL][28] ([i915#2842]) -> [PASS][29] +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-glk5/igt@gem_exec_fair@basic-none@rcs0.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-glk5/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - {shard-rkl}:        [FAIL][30] ([i915#2842]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_schedule@semaphore-power:
    - {shard-rkl}:        [SKIP][32] ([i915#7276]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-2/igt@gem_exec_schedule@semaphore-power.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_partial_pwrite_pread@reads:
    - {shard-rkl}:        [SKIP][34] ([i915#3282]) -> [PASS][35] +3 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-6/igt@gem_partial_pwrite_pread@reads.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@gem_partial_pwrite_pread@reads.html

  * igt@gen9_exec_parse@valid-registers:
    - {shard-rkl}:        [SKIP][36] ([i915#2527]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-4/igt@gen9_exec_parse@valid-registers.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_pm_dc@dc6-dpms:
    - {shard-rkl}:        [SKIP][38] ([i915#3361]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-1/igt@i915_pm_dc@dc6-dpms.html
    - {shard-tglu}:       [FAIL][40] ([i915#3989] / [i915#454]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-7/igt@i915_pm_dc@dc6-dpms.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-2/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@dpms-lpsp:
    - {shard-rkl}:        [SKIP][42] ([i915#1397]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-1/igt@i915_pm_rpm@dpms-lpsp.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@i915_pm_rpm@dpms-lpsp.html

  * igt@i915_pm_sseu@full-enable:
    - {shard-rkl}:        [SKIP][44] ([i915#4387]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-1/igt@i915_pm_sseu@full-enable.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-5/igt@i915_pm_sseu@full-enable.html

  * igt@i915_selftest@mock@sanitycheck:
    - shard-snb:          [SKIP][46] ([fdo#109271]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-snb5/igt@i915_selftest@mock@sanitycheck.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-snb2/igt@i915_selftest@mock@sanitycheck.html

  * igt@kms_atomic@atomic_plane_damage:
    - {shard-rkl}:        [SKIP][48] ([i915#4098]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-3/igt@kms_atomic@atomic_plane_damage.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@kms_atomic@atomic_plane_damage.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - {shard-rkl}:        [SKIP][50] ([i915#1845] / [i915#4098]) -> [PASS][51] +18 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic:
    - {shard-tglu}:       [SKIP][52] ([i915#1845]) -> [PASS][53] +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-6/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-3/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
    - shard-apl:          [FAIL][54] ([i915#2346]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html

  * igt@kms_fbcon_fbt@psr:
    - {shard-rkl}:        [SKIP][56] ([i915#3955]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-3/igt@kms_fbcon_fbt@psr.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@kms_fbcon_fbt@psr.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1:
    - shard-glk:          [FAIL][58] ([i915#79]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-glk1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
    - {shard-rkl}:        [SKIP][60] ([i915#1849] / [i915#4098]) -> [PASS][61] +12 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_plane@pixel-format-source-clamping@pipe-b-planes:
    - {shard-tglu}:       [SKIP][62] ([i915#1849] / [i915#3558]) -> [PASS][63] +3 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-6/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-3/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html

  * igt@kms_properties@crtc-properties-atomic:
    - {shard-tglu}:       [SKIP][64] ([i915#1849]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-6/igt@kms_properties@crtc-properties-atomic.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-1/igt@kms_properties@crtc-properties-atomic.html

  * igt@kms_psr@sprite_mmap_gtt:
    - {shard-rkl}:        [SKIP][66] ([i915#1072]) -> [PASS][67] +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-1/igt@kms_psr@sprite_mmap_gtt.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-6/igt@kms_psr@sprite_mmap_gtt.html

  * igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-a:
    - {shard-tglu}:       [SKIP][68] ([fdo#109274]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-6/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-a.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-5/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-a.html

  * igt@kms_vblank@pipe-b-ts-continuation-idle:
    - {shard-tglu}:       [SKIP][70] ([i915#7651]) -> [PASS][71] +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-tglu-6/igt@kms_vblank@pipe-b-ts-continuation-idle.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-tglu-1/igt@kms_vblank@pipe-b-ts-continuation-idle.html

  * igt@perf@gen12-mi-rpc:
    - {shard-rkl}:        [SKIP][72] ([fdo#109289]) -> [PASS][73] +1 similar issue
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-5/igt@perf@gen12-mi-rpc.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-1/igt@perf@gen12-mi-rpc.html

  * igt@perf@polling:
    - {shard-rkl}:        [FAIL][74] ([i915#7756]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12631/shard-rkl-1/igt@perf@polling.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/shard-rkl-2/igt@perf@polling.html

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

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4275]: https://gitlab.freedesktop.org/drm/intel/issues/4275
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037
  [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
  [i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7756]: https://gitlab.freedesktop.org/drm/intel/issues/7756
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7136 -> IGTPW_8400
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12631: 6bcfacd291ed6ff1ff50a295f970c98d54eabe05 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8400: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8400/index.html
  IGT_7136: 31b6af91747ad8c705399c9006cdb81cb1864146 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test
  2023-01-25  7:15 [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test Riana Tauro
                   ` (2 preceding siblings ...)
  2023-01-25 13:47 ` [igt-dev] ✗ Fi.CI.IGT: failure for " Patchwork
@ 2023-01-30 18:45 ` Umesh Nerlige Ramappa
  3 siblings, 0 replies; 5+ messages in thread
From: Umesh Nerlige Ramappa @ 2023-01-30 18:45 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev, tvrtko.ursulin

On Wed, Jan 25, 2023 at 12:45:44PM +0530, Riana Tauro wrote:
>add a test that verifies the i915 pmu directory and
>reads all the events
>
>Signed-off-by: Riana Tauro <riana.tauro@intel.com>
>---
> lib/igt_perf.c        | 11 +++++++++++
> lib/igt_perf.h        |  1 +
> tests/i915/perf_pmu.c | 30 ++++++++++++++++++++++++++++++
> 3 files changed, 42 insertions(+)
>
>diff --git a/lib/igt_perf.c b/lib/igt_perf.c
>index 11c91c5f..ffe078ad 100644
>--- a/lib/igt_perf.c
>+++ b/lib/igt_perf.c
>@@ -1,5 +1,6 @@
> #include <errno.h>
> #include <fcntl.h>
>+#include <limits.h>
> #include <stdint.h>
> #include <stdlib.h>
> #include <string.h>
>@@ -98,6 +99,16 @@ uint64_t igt_perf_type_id(const char *device)
> 	return strtoull(buf, NULL, 0);
> }
>
>+int igt_perf_events_dir(int i915)
>+{
>+	char buf[80];
>+	char path[PATH_MAX];
>+
>+	i915_perf_device(i915, buf, sizeof(buf));
>+	snprintf(path, sizeof(path), "/sys/bus/event_source/devices/%s/events", buf);
>+	return open(path, O_RDONLY);
>+}
>+
> static int
> _perf_open(uint64_t type, uint64_t config, int group, uint64_t format)
> {
>diff --git a/lib/igt_perf.h b/lib/igt_perf.h
>index 672bfea6..4d86e31a 100644
>--- a/lib/igt_perf.h
>+++ b/lib/igt_perf.h
>@@ -54,6 +54,7 @@ perf_event_open(struct perf_event_attr *attr,
> }
>
> uint64_t igt_perf_type_id(const char *device);
>+int igt_perf_events_dir(int i915);
> int igt_perf_open(uint64_t type, uint64_t config);
> int igt_perf_open_group(uint64_t type, uint64_t config, int group);
>
>diff --git a/tests/i915/perf_pmu.c b/tests/i915/perf_pmu.c
>index f363db2b..1251da0f 100644
>--- a/tests/i915/perf_pmu.c
>+++ b/tests/i915/perf_pmu.c
>@@ -2132,6 +2132,32 @@ static void test_unload(unsigned int num_engines)
> 	igt_assert_eq(__igt_i915_driver_unload(NULL), 0);
> }
>
>+static void pmu_read(int i915)
>+{
>+	char val[128];
>+	int pmu_fd;
>+	struct dirent *de;
>+	DIR *dir;
>+
>+	pmu_fd = igt_perf_events_dir(i915);
>+	igt_require(pmu_fd >= 0);
>+
>+	dir = fdopendir(dup(pmu_fd));
>+	igt_assert(dir);
>+	rewinddir(dir);
>+
>+	while ((de = readdir(dir))) {
>+		if (de->d_type != DT_REG)
>+			continue;
>+
>+		igt_assert(igt_sysfs_scanf(pmu_fd, de->d_name, "%127s", val) == 1);

I would recommend to use igt_assert_eq() here since that will print the 
return of igt_sysfs_scanf() in case the assert fails.

>+		igt_debug("'%s': %s\n", de->d_name, val);
>+	}

The while loop can exit even if readdir failed, so you may want to set 
errno to 0 before the loop and check it again after the loop.

Rest looks good,

Umesh
>+
>+	closedir(dir);
>+	close(pmu_fd);
>+}
>+
> #define test_each_engine(T, i915, ctx, e) \
> 	igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \
> 		igt_dynamic_f("%s", e->name)
>@@ -2167,6 +2193,10 @@ igt_main
> 		igt_require(num_engines);
> 	}
>
>+	igt_describe("Verify i915 pmu dir exists and read all events");
>+	igt_subtest("pmu-read")
>+		pmu_read(fd);
>+
> 	/**
> 	 * Test invalid access via perf API is rejected.
> 	 */
>-- 
>2.39.0
>

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

end of thread, other threads:[~2023-01-30 18:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-25  7:15 [igt-dev] [PATCH i-g-t] tests/i915/perf_pmu: Add a basic perf_pmu test Riana Tauro
2023-01-25  7:53 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2023-01-25 13:28 ` [igt-dev] [PATCH i-g-t] " Riana Tauro
2023-01-25 13:47 ` [igt-dev] ✗ Fi.CI.IGT: failure for " Patchwork
2023-01-30 18:45 ` [igt-dev] [PATCH i-g-t] " Umesh Nerlige Ramappa

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.