* [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
@ 2024-06-25 13:08 Nirmoy Das
2024-06-25 14:11 ` ✓ CI.xeBAT: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3) Patchwork
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Nirmoy Das @ 2024-06-25 13:08 UTC (permalink / raw)
To: igt-dev; +Cc: kamil.konieczny, Nirmoy Das
Add basic_inst_benchmark to benchmark this basic operation
for BO sizes to get basic understanding how long it takes
bind a BO and run simple GPU command on it.
This not a CI test but rather for developer to identify various
bottleneck/regression in BO binding.
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
---
tests/intel/xe_exec_store.c | 112 ++++++++++++++++++++++++++++++------
1 file changed, 94 insertions(+), 18 deletions(-)
diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
index c872c22d5..aaabdbec3 100644
--- a/tests/intel/xe_exec_store.c
+++ b/tests/intel/xe_exec_store.c
@@ -93,15 +93,10 @@ static void persistance_batch(struct data *data, uint64_t addr)
data->addr = batch_addr;
}
-/**
- * SUBTEST: basic-store
- * Description: Basic test to verify store dword.
- * SUBTEST: basic-cond-batch
- * Description: Basic test to verify cond batch end instruction.
- * SUBTEST: basic-all
- * Description: Test to verify store dword on all available engines.
- */
-static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instance *eci)
+
+static void basic_inst_size(int fd, int inst_type,
+ struct drm_xe_engine_class_instance *eci,
+ uint16_t cpu_caching, size_t bo_size)
{
struct drm_xe_sync sync[2] = {
{ .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
@@ -117,7 +112,6 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
uint32_t exec_queue;
uint32_t bind_engine;
uint32_t syncobj;
- size_t bo_size;
int value = 0x123456;
uint64_t addr = 0x100000;
uint32_t bo = 0;
@@ -127,12 +121,16 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
sync[1].handle = syncobj;
vm = xe_vm_create(fd, 0, 0);
- bo_size = sizeof(*data);
- bo_size = xe_bb_size(fd, bo_size);
- bo = xe_bo_create(fd, vm, bo_size,
- vram_if_possible(fd, eci->gt_id),
- DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ if (cpu_caching)
+ bo = xe_bo_create_caching(fd, vm, bo_size,
+ vram_if_possible(fd, eci->gt_id),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
+ cpu_caching);
+ else
+ bo = xe_bo_create(fd, vm, bo_size,
+ vram_if_possible(fd, eci->gt_id),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
bind_engine = xe_bind_exec_queue_create(fd, vm, 0);
@@ -167,6 +165,66 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
xe_vm_destroy(fd, vm);
}
+
+/**
+ * SUBTEST: basic-store
+ * Description: Basic test to verify store dword.
+ * SUBTEST: basic-cond-batch
+ * Description: Basic test to verify cond batch end instruction.
+ * SUBTEST: basic-all
+ * Description: Test to verify store dword on all available engines.
+ */
+static void basic_inst(int fd, int inst_type,
+ struct drm_xe_engine_class_instance *eci,
+ uint16_t cpu_caching)
+{
+ size_t bo_size;
+
+ bo_size = sizeof(struct data);
+ bo_size = xe_bb_size(fd, bo_size);
+
+ basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
+}
+
+/**
+ * SUBTEST: basic-store-benchmark
+ * Description: Basic test to verify time taken for doing store dword with various size.
+ */
+static void basic_inst_benchmark(int fd, int inst_type,
+ struct drm_xe_engine_class_instance *eci,
+ uint16_t cpu_caching)
+{
+ struct {
+ size_t size;
+ const char *name;
+ } sizes[] = {
+ {SZ_4K, "SZ_4K"},
+ {SZ_2M, "SZ_2M"},
+ {SZ_64M, "SZ_64M"},
+ {SZ_128M, "SZ_128M"},
+ {SZ_256M, "SZ_256M"},
+ {SZ_1G, "SZ_1G"}
+ };
+
+ struct timeval start, end;
+ long seconds, useconds, utime;
+
+ for (size_t i = 0; i < ARRAY_SIZE(sizes); ++i) {
+ size_t bo_size = sizes[i].size;
+ const char *size_name = sizes[i].name;
+
+ gettimeofday(&start, NULL);
+ basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
+ gettimeofday(&end, NULL);
+
+ seconds = end.tv_sec - start.tv_sec;
+ useconds = end.tv_usec - start.tv_usec;
+ utime = (seconds * 1000000) + useconds;
+
+ igt_info("Time taken for size %s: %ld us\n", size_name, utime);
+ }
+}
+
#define PAGES 1
#define NCACHELINES (4096/64)
/**
@@ -342,12 +400,30 @@ igt_main
igt_subtest("basic-store") {
engine = xe_engine(fd, 1);
- basic_inst(fd, STORE, &engine->instance);
+ basic_inst(fd, COND_BATCH, &engine->instance, 0);
+ }
+
+ igt_subtest_with_dynamic("basic-store-benchmark") {
+ struct dyn {
+ const char *name;
+ int cache;
+ } tests[] = {
+ {"WC", DRM_XE_GEM_CPU_CACHING_WC},
+ {"WB", DRM_XE_GEM_CPU_CACHING_WB}
+ };
+ /* Enable for iGFX only for now */
+ igt_require(! xe_has_vram(fd));
+
+ for (int i = 0; i < ARRAY_SIZE(tests); i++) {
+ igt_dynamic_f("%s", tests[i].name);
+ engine = xe_engine(fd, 1);
+ basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
+ }
}
igt_subtest("basic-cond-batch") {
engine = xe_engine(fd, 1);
- basic_inst(fd, COND_BATCH, &engine->instance);
+ basic_inst(fd, COND_BATCH, &engine->instance, 0);
}
igt_subtest_with_dynamic("basic-all") {
@@ -356,7 +432,7 @@ igt_main
xe_engine_class_string(hwe->engine_class),
hwe->engine_instance,
hwe->gt_id);
- basic_inst(fd, STORE, hwe);
+ basic_inst(fd, STORE, hwe, 0);
}
}
--
2.42.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* ✓ CI.xeBAT: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
2024-06-25 13:08 [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Nirmoy Das
@ 2024-06-25 14:11 ` Patchwork
2024-06-25 14:22 ` ✗ Fi.CI.BAT: failure " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2024-06-25 14:11 UTC (permalink / raw)
To: Nirmoy Das; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]
== Series Details ==
Series: tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
URL : https://patchwork.freedesktop.org/series/135027/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_7898_BAT -> XEIGTPW_11313_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (5 -> 5)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_11313_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_frontbuffer_tracking@basic:
- bat-adlp-7: [PASS][1] -> [DMESG-FAIL][2] ([Intel XE#324])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html
[Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
Build changes
-------------
* IGT: IGT_7898 -> IGTPW_11313
* Linux: xe-1522-31d8e23bbf793469d597f3a17888fa55fffe7195 -> xe-1525-61dfb30a52fac9b1bb455a250799611682334cc3
IGTPW_11313: 11313
IGT_7898: a2600953b16d6628855b89ac40f477b58933b37b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-1522-31d8e23bbf793469d597f3a17888fa55fffe7195: 31d8e23bbf793469d597f3a17888fa55fffe7195
xe-1525-61dfb30a52fac9b1bb455a250799611682334cc3: 61dfb30a52fac9b1bb455a250799611682334cc3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/index.html
[-- Attachment #2: Type: text/html, Size: 2185 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* ✗ Fi.CI.BAT: failure for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
2024-06-25 13:08 [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Nirmoy Das
2024-06-25 14:11 ` ✓ CI.xeBAT: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3) Patchwork
@ 2024-06-25 14:22 ` Patchwork
2024-06-25 16:07 ` ✓ CI.xeFULL: success " Patchwork
2024-06-28 17:02 ` [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Kamil Konieczny
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2024-06-25 14:22 UTC (permalink / raw)
To: Nirmoy Das; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 7181 bytes --]
== Series Details ==
Series: tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
URL : https://patchwork.freedesktop.org/series/135027/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_14998 -> IGTPW_11313
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_11313 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_11313, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_11313/index.html
Participating hosts (42 -> 40)
------------------------------
Additional (2): fi-kbl-8809g bat-jsl-3
Missing (4): bat-mtlp-8 bat-mtlp-9 fi-snb-2520m fi-bsw-n3050
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_11313:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@active:
- fi-rkl-11600: [PASS][1] -> [DMESG-FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/fi-rkl-11600/igt@i915_selftest@live@active.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/fi-rkl-11600/igt@i915_selftest@live@active.html
Known issues
------------
Here are the changes found in IGTPW_11313 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-jsl-3: NOTRUN -> [SKIP][3] ([i915#9318])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@debugfs_test@basic-hwmon.html
* igt@gem_huc_copy@huc-copy:
- fi-kbl-8809g: NOTRUN -> [SKIP][4] ([i915#2190])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html
- bat-jsl-3: NOTRUN -> [SKIP][5] ([i915#2190])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- bat-jsl-3: NOTRUN -> [SKIP][6] ([i915#4613]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@gem_lmem_swapping@basic.html
- fi-kbl-8809g: NOTRUN -> [SKIP][7] ([i915#4613]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/fi-kbl-8809g/igt@gem_lmem_swapping@basic.html
* igt@i915_pm_rpm@module-reload:
- bat-adlp-6: [PASS][8] -> [DMESG-WARN][9] ([i915#8449])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-jsl-3: NOTRUN -> [SKIP][10] ([i915#4103]) +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_dsc@dsc-basic:
- bat-jsl-3: NOTRUN -> [SKIP][11] ([i915#3555] / [i915#9886])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@kms_dsc@dsc-basic.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-kbl-8809g: NOTRUN -> [SKIP][12] +30 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/fi-kbl-8809g/igt@kms_force_connector_basic@force-load-detect.html
- bat-jsl-3: NOTRUN -> [SKIP][13]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-jsl-3: NOTRUN -> [SKIP][14] ([i915#3555])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-jsl-3/igt@kms_setmode@basic-clone-single-crtc.html
#### Possible fixes ####
* igt@i915_selftest@live@gt_lrc:
- {bat-twl-1}: [INCOMPLETE][15] ([i915#10886]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
- bat-rplp-1: [DMESG-FAIL][17] ([i915#11330]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@workarounds:
- bat-adlp-6: [INCOMPLETE][19] ([i915#9413]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-adlp-6/igt@i915_selftest@live@workarounds.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-adlp-6/igt@i915_selftest@live@workarounds.html
* igt@kms_frontbuffer_tracking@basic:
- bat-arls-2: [DMESG-WARN][21] ([i915#7507]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-arls-2/igt@kms_frontbuffer_tracking@basic.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-arls-2/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1:
- bat-dg2-8: [FAIL][23] ([i915#11379]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14998/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10886
[i915#11330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11330
[i915#11379]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11379
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#7507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7507
[i915#8449]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8449
[i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
[i915#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
[i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7898 -> IGTPW_11313
CI-20190529: 20190529
CI_DRM_14998: 61dfb30a52fac9b1bb455a250799611682334cc3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_11313: 11313
IGT_7898: a2600953b16d6628855b89ac40f477b58933b37b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11313/index.html
[-- Attachment #2: Type: text/html, Size: 8367 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ CI.xeFULL: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
2024-06-25 13:08 [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Nirmoy Das
2024-06-25 14:11 ` ✓ CI.xeBAT: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3) Patchwork
2024-06-25 14:22 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-06-25 16:07 ` Patchwork
2024-06-28 17:02 ` [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Kamil Konieczny
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2024-06-25 16:07 UTC (permalink / raw)
To: Nirmoy Das; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 47043 bytes --]
== Series Details ==
Series: tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3)
URL : https://patchwork.freedesktop.org/series/135027/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_7898_full -> XEIGTPW_11313_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (3 -> 3)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_11313_full:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@xe_vm@mixed-misaligned-binds-3145728:
- {shard-lnl}: [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-lnl-5/igt@xe_vm@mixed-misaligned-binds-3145728.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-lnl-1/igt@xe_vm@mixed-misaligned-binds-3145728.html
New tests
---------
New tests have been introduced between XEIGT_7898_full and XEIGTPW_11313_full:
### New IGT tests (3) ###
* igt@xe_exec_store@basic-store-benchmark:
- Statuses : 1 pass(s) 1 skip(s)
- Exec time: [0.0, 0.65] s
* igt@xe_exec_store@basic-store-benchmark@wb:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@xe_exec_store@basic-store-benchmark@wc:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in XEIGTPW_11313_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@linear-32bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][3] ([Intel XE#316])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_big_fb@linear-32bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][4] ([Intel XE#1124] / [Intel XE#1201])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_bw@linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: NOTRUN -> [SKIP][5] ([Intel XE#1201] / [Intel XE#367])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-xe2-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#1252])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-xe2-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][8] ([Intel XE#1201] / [Intel XE#787]) +13 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-a-dp-4.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#1201] / [Intel XE#306])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#307])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2-set2: NOTRUN -> [SKIP][11] ([Intel XE#1201] / [Intel XE#308])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#1201] / [Intel XE#455]) +4 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#1201] / [Intel XE#651])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#651]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#1201] / [Intel XE#658])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#653])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#1201] / [Intel XE#653]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#1201] / [Intel XE#1489])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr@fbc-pr-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#1201] / [Intel XE#929])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-434/igt@kms_psr@fbc-pr-suspend.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#756])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@xe_copy_basic@mem-copy-linear-0x369:
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#1123] / [Intel XE#1201])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0x369.html
* igt@xe_copy_basic@mem-set-linear-0xfffe:
- shard-dg2-set2: NOTRUN -> [SKIP][22] ([Intel XE#1126])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0xfffe.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-dg2-set2: [PASS][23] -> [TIMEOUT][24] ([Intel XE#1473] / [Intel XE#402])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-464/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_evict@evict-beng-threads-large:
- shard-dg2-set2: [PASS][25] -> [TIMEOUT][26] ([Intel XE#1473])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_evict@evict-beng-threads-large.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-436/igt@xe_evict@evict-beng-threads-large.html
* igt@xe_evict@evict-mixed-threads-large:
- shard-dg2-set2: [PASS][27] -> [INCOMPLETE][28] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_evict@evict-mixed-threads-large.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_evict@evict-mixed-threads-large.html
* igt@xe_evict@evict-threads-large:
- shard-dg2-set2: [PASS][29] -> [TIMEOUT][30] ([Intel XE#1473] / [Intel XE#392])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-433/igt@xe_evict@evict-threads-large.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@xe_evict@evict-threads-large.html
* igt@xe_exec_fault_mode@many-bindexecqueue-userptr-rebind:
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#288])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_exec_fault_mode@many-bindexecqueue-userptr-rebind.html
* igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind:
- shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#1201] / [Intel XE#288])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind.html
* {igt@xe_exec_store@basic-store-benchmark} (NEW):
- shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#1201])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@xe_exec_store@basic-store-benchmark.html
* igt@xe_huc_copy@huc_copy:
- shard-dg2-set2: NOTRUN -> [SKIP][34] ([Intel XE#1201] / [Intel XE#255])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-433/igt@xe_huc_copy@huc_copy.html
* igt@xe_pm@s3-basic-exec:
- shard-dg2-set2: [PASS][35] -> [DMESG-WARN][36] ([Intel XE#1214] / [Intel XE#1551] / [Intel XE#569])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_pm@s3-basic-exec.html
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_pm@s3-basic-exec.html
* igt@xe_pm@s3-vm-bind-unbind-all:
- shard-dg2-set2: [PASS][37] -> [DMESG-WARN][38] ([Intel XE#1162] / [Intel XE#1214] / [Intel XE#1941])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-433/igt@xe_pm@s3-vm-bind-unbind-all.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_pm@s3-vm-bind-unbind-all.html
* igt@xe_query@multigpu-query-invalid-extension:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#1201] / [Intel XE#944])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-434/igt@xe_query@multigpu-query-invalid-extension.html
#### Possible fixes ####
* igt@fbdev@read:
- {shard-lnl}: [INCOMPLETE][40] -> [PASS][41]
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-lnl-8/igt@fbdev@read.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-lnl-1/igt@fbdev@read.html
* igt@kms_cursor_crc@cursor-rapid-movement-256x256@pipe-d-hdmi-a-6:
- shard-dg2-set2: [DMESG-WARN][42] ([Intel XE#282]) -> [PASS][43] +5 other tests pass
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_cursor_crc@cursor-rapid-movement-256x256@pipe-d-hdmi-a-6.html
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@kms_cursor_crc@cursor-rapid-movement-256x256@pipe-d-hdmi-a-6.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-dg2-set2: [DMESG-WARN][44] ([Intel XE#1214] / [Intel XE#282] / [Intel XE#910]) -> [PASS][45] +4 other tests pass
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-464/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-dg2-set2: [DMESG-WARN][46] ([Intel XE#1214] / [Intel XE#282]) -> [PASS][47] +45 other tests pass
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
* igt@kms_flip@flip-vs-absolute-wf_vblank:
- {shard-lnl}: [FAIL][48] ([Intel XE#886]) -> [PASS][49] +2 other tests pass
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-lnl-2/igt@kms_flip@flip-vs-absolute-wf_vblank.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-lnl-4/igt@kms_flip@flip-vs-absolute-wf_vblank.html
* igt@kms_hdmi_inject@inject-audio:
- shard-dg2-set2: [SKIP][50] ([Intel XE#1201] / [Intel XE#417]) -> [PASS][51]
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@kms_hdmi_inject@inject-audio.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pipe_crc_basic@suspend-read-crc:
- shard-dg2-set2: [DMESG-WARN][52] ([Intel XE#1162]) -> [PASS][53]
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_pipe_crc_basic@suspend-read-crc.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-436/igt@kms_pipe_crc_basic@suspend-read-crc.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4:
- shard-dg2-set2: [DMESG-WARN][54] -> [PASS][55]
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4.html
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-436/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4.html
* igt@kms_universal_plane@cursor-fb-leak:
- shard-dg2-set2: [FAIL][56] ([Intel XE#771] / [Intel XE#899]) -> [PASS][57]
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_universal_plane@cursor-fb-leak.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6:
- shard-dg2-set2: [FAIL][58] ([Intel XE#899]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6.html
* igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system:
- {shard-lnl}: [DMESG-WARN][60] ([Intel XE#2052]) -> [PASS][61] +2 other tests pass
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-lnl-8/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-lnl-5/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html
* igt@xe_gt_freq@freq_fixed_exec:
- shard-dg2-set2: [FAIL][62] ([Intel XE#1414]) -> [PASS][63]
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_gt_freq@freq_fixed_exec.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-433/igt@xe_gt_freq@freq_fixed_exec.html
* igt@xe_gt_freq@freq_low_max:
- {shard-lnl}: [FAIL][64] ([Intel XE#1045]) -> [PASS][65]
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-lnl-4/igt@xe_gt_freq@freq_low_max.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-lnl-1/igt@xe_gt_freq@freq_low_max.html
* igt@xe_pm@s3-vm-bind-prefetch:
- shard-dg2-set2: [DMESG-WARN][66] ([Intel XE#1214] / [Intel XE#569]) -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@xe_pm@s3-vm-bind-prefetch.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@xe_pm@s3-vm-bind-prefetch.html
* igt@xe_pm@s4-basic-exec:
- shard-dg2-set2: [DMESG-WARN][68] ([Intel XE#1214]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@xe_pm@s4-basic-exec.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_pm@s4-basic-exec.html
#### Warnings ####
* igt@kms_big_fb@4-tiled-8bpp-rotate-90:
- shard-dg2-set2: [SKIP][70] ([Intel XE#1201] / [Intel XE#316]) -> [SKIP][71] ([Intel XE#316]) +2 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@linear-16bpp-rotate-270:
- shard-dg2-set2: [SKIP][72] ([Intel XE#316]) -> [SKIP][73] ([Intel XE#1201] / [Intel XE#316]) +2 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_big_fb@linear-16bpp-rotate-270.html
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_big_fb@linear-16bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-90:
- shard-dg2-set2: [SKIP][74] ([Intel XE#1124]) -> [SKIP][75] ([Intel XE#1124] / [Intel XE#1201]) +3 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_big_fb@y-tiled-16bpp-rotate-90.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-463/igt@kms_big_fb@y-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
- shard-dg2-set2: [SKIP][76] ([Intel XE#1124] / [Intel XE#1201]) -> [SKIP][77] ([Intel XE#1124]) +7 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
* igt@kms_bw@linear-tiling-4-displays-2160x1440p:
- shard-dg2-set2: [SKIP][78] ([Intel XE#1201] / [Intel XE#367]) -> [SKIP][79] ([Intel XE#367]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs:
- shard-dg2-set2: [SKIP][80] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][81] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +7 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: [SKIP][82] ([Intel XE#787]) -> [SKIP][83] ([Intel XE#1201] / [Intel XE#787]) +27 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: [SKIP][84] ([Intel XE#1201] / [Intel XE#787]) -> [SKIP][85] ([Intel XE#787]) +48 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-463/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs:
- shard-dg2-set2: [SKIP][86] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) -> [SKIP][87] ([Intel XE#455] / [Intel XE#787]) +13 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs:
- shard-dg2-set2: [SKIP][88] ([Intel XE#1201] / [Intel XE#1252]) -> [SKIP][89] ([Intel XE#1252])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs.html
* igt@kms_chamelium_color@ctm-blue-to-red:
- shard-dg2-set2: [SKIP][90] ([Intel XE#306]) -> [SKIP][91] ([Intel XE#1201] / [Intel XE#306])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_chamelium_color@ctm-blue-to-red.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@kms_chamelium_color@ctm-blue-to-red.html
* igt@kms_chamelium_color@gamma:
- shard-dg2-set2: [SKIP][92] ([Intel XE#1201] / [Intel XE#306]) -> [SKIP][93] ([Intel XE#306])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_chamelium_color@gamma.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_chamelium_color@gamma.html
* igt@kms_chamelium_frames@vga-frame-dump:
- shard-dg2-set2: [SKIP][94] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][95] ([Intel XE#373]) +5 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-433/igt@kms_chamelium_frames@vga-frame-dump.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_chamelium_frames@vga-frame-dump.html
* igt@kms_chamelium_hpd@vga-hpd:
- shard-dg2-set2: [SKIP][96] ([Intel XE#373]) -> [SKIP][97] ([Intel XE#1201] / [Intel XE#373]) +3 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_chamelium_hpd@vga-hpd.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-dg2-set2: [SKIP][98] ([Intel XE#1201] / [Intel XE#307]) -> [SKIP][99] ([Intel XE#307])
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_content_protection@dp-mst-type-0.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- shard-dg2-set2: [SKIP][100] ([Intel XE#1201] / [Intel XE#308]) -> [SKIP][101] ([Intel XE#308])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_cursor_crc@cursor-offscreen-512x170.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_cursor_crc@cursor-offscreen-512x170.html
* igt@kms_cursor_crc@cursor-rapid-movement-max-size:
- shard-dg2-set2: [SKIP][102] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][103] ([Intel XE#455]) +13 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
* igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-6:
- shard-dg2-set2: [DMESG-FAIL][104] ([Intel XE#1551]) -> [FAIL][105] ([Intel XE#616]) +1 other test fail
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-6.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-434/igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-6.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-dg2-set2: [SKIP][106] ([Intel XE#1201] / [Intel XE#323]) -> [SKIP][107] ([Intel XE#323]) +1 other test skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-464/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_feature_discovery@psr1:
- shard-dg2-set2: [SKIP][108] ([Intel XE#1135] / [Intel XE#1201]) -> [SKIP][109] ([Intel XE#1135])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_feature_discovery@psr1.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4:
- shard-dg2-set2: [DMESG-WARN][110] -> [DMESG-WARN][111] ([Intel XE#1214]) +1 other test dmesg-warn
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a6:
- shard-dg2-set2: [DMESG-WARN][112] ([Intel XE#1551]) -> [DMESG-WARN][113] ([Intel XE#1214] / [Intel XE#1551]) +1 other test dmesg-warn
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_flip@flip-vs-suspend@a-hdmi-a6.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_flip@flip-vs-suspend@a-hdmi-a6.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
- shard-dg2-set2: [SKIP][114] ([Intel XE#455]) -> [SKIP][115] ([Intel XE#1201] / [Intel XE#455]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt:
- shard-dg2-set2: [SKIP][116] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][117] ([Intel XE#651]) +16 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt:
- shard-dg2-set2: [SKIP][118] ([Intel XE#651]) -> [SKIP][119] ([Intel XE#1201] / [Intel XE#651]) +7 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-dg2-set2: [SKIP][120] ([Intel XE#653]) -> [SKIP][121] ([Intel XE#1201] / [Intel XE#653]) +10 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
- shard-dg2-set2: [SKIP][122] ([Intel XE#1201] / [Intel XE#653]) -> [SKIP][123] ([Intel XE#653]) +16 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg2-set2: [SKIP][124] ([Intel XE#1201] / [Intel XE#356]) -> [SKIP][125] ([Intel XE#356])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-433/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format:
- shard-dg2-set2: [SKIP][126] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#498]) -> [SKIP][127] ([Intel XE#455] / [Intel XE#498]) +1 other test skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-6:
- shard-dg2-set2: [SKIP][128] ([Intel XE#1201] / [Intel XE#498]) -> [SKIP][129] ([Intel XE#498]) +2 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-6.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-6.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-dg2-set2: [SKIP][130] ([Intel XE#1201] / [Intel XE#870]) -> [SKIP][131] ([Intel XE#870])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@kms_pm_backlight@fade-with-suspend.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-psr:
- shard-dg2-set2: [SKIP][132] ([Intel XE#1129] / [Intel XE#1201]) -> [SKIP][133] ([Intel XE#1129])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-464/igt@kms_pm_dc@dc6-psr.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_pm_dc@dc6-psr.html
* igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf:
- shard-dg2-set2: [SKIP][134] ([Intel XE#1201]) -> [SKIP][135] ([Intel XE#1201] / [Intel XE#1489]) +18 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
- shard-dg2-set2: [SKIP][136] ([Intel XE#1201]) -> [SKIP][137] ([Intel XE#1489]) +2 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
* igt@kms_psr@fbc-pr-no-drrs:
- shard-dg2-set2: [SKIP][138] ([Intel XE#929]) -> [SKIP][139] ([Intel XE#1201] / [Intel XE#929]) +6 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@kms_psr@fbc-pr-no-drrs.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-436/igt@kms_psr@fbc-pr-no-drrs.html
* igt@kms_psr@psr-cursor-plane-move:
- shard-dg2-set2: [SKIP][140] ([Intel XE#1201] / [Intel XE#929]) -> [SKIP][141] ([Intel XE#929]) +10 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@kms_psr@psr-cursor-plane-move.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-dg2-set2: [SKIP][142] ([Intel XE#1127] / [Intel XE#1201]) -> [SKIP][143] ([Intel XE#1127])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][144] ([Intel XE#1201] / [Intel XE#1500]) -> [SKIP][145] ([Intel XE#1500])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-dg2-set2: [DMESG-WARN][146] ([Intel XE#1214] / [Intel XE#1551]) -> [DMESG-WARN][147] ([Intel XE#1551]) +1 other test dmesg-warn
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@kms_vblank@ts-continuation-dpms-suspend.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@sriov_basic@bind-unbind-vf:
- shard-dg2-set2: [SKIP][148] ([Intel XE#1091]) -> [SKIP][149] ([Intel XE#1091] / [Intel XE#1201])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@sriov_basic@bind-unbind-vf.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@sriov_basic@bind-unbind-vf.html
* igt@xe_compute_preempt@compute-preempt-many:
- shard-dg2-set2: [SKIP][150] ([Intel XE#1201] / [Intel XE#1280] / [Intel XE#455]) -> [SKIP][151] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-464/igt@xe_compute_preempt@compute-preempt-many.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_compute_preempt@compute-preempt-many.html
* igt@xe_copy_basic@mem-copy-linear-0xfd:
- shard-dg2-set2: [SKIP][152] ([Intel XE#1123] / [Intel XE#1201]) -> [SKIP][153] ([Intel XE#1123])
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0xfd.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0xfd.html
* igt@xe_copy_basic@mem-set-linear-0x3fff:
- shard-dg2-set2: [SKIP][154] ([Intel XE#1126]) -> [SKIP][155] ([Intel XE#1126] / [Intel XE#1201])
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0x3fff.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_copy_basic@mem-set-linear-0x3fff.html
* igt@xe_evict@evict-beng-cm-threads-large:
- shard-dg2-set2: [INCOMPLETE][156] ([Intel XE#1473] / [Intel XE#392]) -> [INCOMPLETE][157] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392])
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@xe_evict@evict-beng-cm-threads-large.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@xe_evict@evict-beng-cm-threads-large.html
* igt@xe_evict@evict-beng-mixed-many-threads-large:
- shard-dg2-set2: [INCOMPLETE][158] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392]) -> [TIMEOUT][159] ([Intel XE#1041] / [Intel XE#1473] / [Intel XE#392])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@xe_evict@evict-beng-mixed-many-threads-large.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_evict@evict-beng-mixed-many-threads-large.html
* igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate-race:
- shard-dg2-set2: [SKIP][160] ([Intel XE#1201] / [Intel XE#288]) -> [SKIP][161] ([Intel XE#288]) +15 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate-race.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@once-bindexecqueue-rebind-prefetch:
- shard-dg2-set2: [SKIP][162] ([Intel XE#288]) -> [SKIP][163] ([Intel XE#1201] / [Intel XE#288]) +9 other tests skip
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@xe_exec_fault_mode@once-bindexecqueue-rebind-prefetch.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-433/igt@xe_exec_fault_mode@once-bindexecqueue-rebind-prefetch.html
* igt@xe_live_ktest@xe_mocs:
- shard-dg2-set2: [FAIL][164] ([Intel XE#1999]) -> [SKIP][165] ([Intel XE#1192] / [Intel XE#1201])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_live_ktest@xe_mocs.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_live_ktest@xe_mocs.html
* igt@xe_media_fill@media-fill:
- shard-dg2-set2: [SKIP][166] ([Intel XE#1201] / [Intel XE#560]) -> [SKIP][167] ([Intel XE#560])
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-435/igt@xe_media_fill@media-fill.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_media_fill@media-fill.html
* igt@xe_pat@pat-index-xe2:
- shard-dg2-set2: [SKIP][168] ([Intel XE#1201] / [Intel XE#977]) -> [SKIP][169] ([Intel XE#977])
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@xe_pat@pat-index-xe2.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_pat@pat-index-xe2.html
* igt@xe_pm@d3cold-multiple-execs:
- shard-dg2-set2: [SKIP][170] ([Intel XE#366]) -> [SKIP][171] ([Intel XE#1201] / [Intel XE#366])
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-432/igt@xe_pm@d3cold-multiple-execs.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-466/igt@xe_pm@d3cold-multiple-execs.html
* igt@xe_pm@s3-d3hot-basic-exec:
- shard-dg2-set2: [INCOMPLETE][172] ([Intel XE#1195] / [Intel XE#1358] / [Intel XE#569]) -> [DMESG-WARN][173] ([Intel XE#1214] / [Intel XE#1551] / [Intel XE#569])
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-434/igt@xe_pm@s3-d3hot-basic-exec.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-464/igt@xe_pm@s3-d3hot-basic-exec.html
* igt@xe_query@multigpu-query-hwconfig:
- shard-dg2-set2: [SKIP][174] ([Intel XE#1201] / [Intel XE#944]) -> [SKIP][175] ([Intel XE#944])
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7898/shard-dg2-436/igt@xe_query@multigpu-query-hwconfig.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/shard-dg2-432/igt@xe_query@multigpu-query-hwconfig.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1041]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1041
[Intel XE#1045]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1045
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1162]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1162
[Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
[Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
[Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
[Intel XE#1214]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1214
[Intel XE#1252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1252
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1399
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1413
[Intel XE#1414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1414
[Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
[Intel XE#1437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1437
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
[Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
[Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
[Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1522
[Intel XE#1551]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1551
[Intel XE#1620]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1620
[Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1941]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1941
[Intel XE#1948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1948
[Intel XE#1999]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1999
[Intel XE#2052]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2052
[Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
[Intel XE#282]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/282
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/294
[Intel XE#305]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/305
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/374
[Intel XE#392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/392
[Intel XE#402]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/402
[Intel XE#417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/417
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#498]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/498
[Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
[Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
[Intel XE#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#702]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/702
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
[Intel XE#910]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/910
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#958]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/958
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
Build changes
-------------
* IGT: IGT_7898 -> IGTPW_11313
* Linux: xe-1522-31d8e23bbf793469d597f3a17888fa55fffe7195 -> xe-1525-61dfb30a52fac9b1bb455a250799611682334cc3
IGTPW_11313: 11313
IGT_7898: a2600953b16d6628855b89ac40f477b58933b37b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-1522-31d8e23bbf793469d597f3a17888fa55fffe7195: 31d8e23bbf793469d597f3a17888fa55fffe7195
xe-1525-61dfb30a52fac9b1bb455a250799611682334cc3: 61dfb30a52fac9b1bb455a250799611682334cc3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11313/index.html
[-- Attachment #2: Type: text/html, Size: 60147 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
2024-06-25 13:08 [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Nirmoy Das
` (2 preceding siblings ...)
2024-06-25 16:07 ` ✓ CI.xeFULL: success " Patchwork
@ 2024-06-28 17:02 ` Kamil Konieczny
2024-07-01 7:59 ` Nirmoy Das
3 siblings, 1 reply; 8+ messages in thread
From: Kamil Konieczny @ 2024-06-28 17:02 UTC (permalink / raw)
To: igt-dev; +Cc: Nirmoy Das
Hi Nirmoy,
On 2024-06-25 at 15:08:16 +0200, Nirmoy Das wrote:
test names should use '-' as separator, you also used other
name so:
[PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
should be:
[PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic-store-benchmark
> Add basic_inst_benchmark to benchmark this basic operation
---------- ^----^
Same here, use '-' as separator, s/_inst_/-store-/
> for BO sizes to get basic understanding how long it takes
> bind a BO and run simple GPU command on it.
>
> This not a CI test but rather for developer to identify various
> bottleneck/regression in BO binding.
>
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
> tests/intel/xe_exec_store.c | 112 ++++++++++++++++++++++++++++++------
> 1 file changed, 94 insertions(+), 18 deletions(-)
>
> diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
> index c872c22d5..aaabdbec3 100644
> --- a/tests/intel/xe_exec_store.c
> +++ b/tests/intel/xe_exec_store.c
> @@ -93,15 +93,10 @@ static void persistance_batch(struct data *data, uint64_t addr)
> data->addr = batch_addr;
>
> }
> -/**
> - * SUBTEST: basic-store
> - * Description: Basic test to verify store dword.
> - * SUBTEST: basic-cond-batch
> - * Description: Basic test to verify cond batch end instruction.
> - * SUBTEST: basic-all
> - * Description: Test to verify store dword on all available engines.
> - */
> -static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instance *eci)
> +
> +static void basic_inst_size(int fd, int inst_type,
> + struct drm_xe_engine_class_instance *eci,
> + uint16_t cpu_caching, size_t bo_size)
> {
> struct drm_xe_sync sync[2] = {
> { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
> @@ -117,7 +112,6 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> uint32_t exec_queue;
> uint32_t bind_engine;
> uint32_t syncobj;
> - size_t bo_size;
> int value = 0x123456;
> uint64_t addr = 0x100000;
> uint32_t bo = 0;
> @@ -127,12 +121,16 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> sync[1].handle = syncobj;
>
> vm = xe_vm_create(fd, 0, 0);
> - bo_size = sizeof(*data);
> - bo_size = xe_bb_size(fd, bo_size);
>
> - bo = xe_bo_create(fd, vm, bo_size,
> - vram_if_possible(fd, eci->gt_id),
> - DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + if (cpu_caching)
> + bo = xe_bo_create_caching(fd, vm, bo_size,
> + vram_if_possible(fd, eci->gt_id),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
> + cpu_caching);
> + else
> + bo = xe_bo_create(fd, vm, bo_size,
> + vram_if_possible(fd, eci->gt_id),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
>
> exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
> bind_engine = xe_bind_exec_queue_create(fd, vm, 0);
> @@ -167,6 +165,66 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> xe_vm_destroy(fd, vm);
> }
>
> +
> +/**
> + * SUBTEST: basic-store
> + * Description: Basic test to verify store dword.
> + * SUBTEST: basic-cond-batch
> + * Description: Basic test to verify cond batch end instruction.
> + * SUBTEST: basic-all
> + * Description: Test to verify store dword on all available engines.
> + */
> +static void basic_inst(int fd, int inst_type,
> + struct drm_xe_engine_class_instance *eci,
> + uint16_t cpu_caching)
> +{
> + size_t bo_size;
> +
> + bo_size = sizeof(struct data);
> + bo_size = xe_bb_size(fd, bo_size);
> +
> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
> +}
> +
> +/**
> + * SUBTEST: basic-store-benchmark
> + * Description: Basic test to verify time taken for doing store dword with various size.
> + */
> +static void basic_inst_benchmark(int fd, int inst_type,
> + struct drm_xe_engine_class_instance *eci,
> + uint16_t cpu_caching)
> +{
> + struct {
> + size_t size;
> + const char *name;
> + } sizes[] = {
> + {SZ_4K, "SZ_4K"},
> + {SZ_2M, "SZ_2M"},
> + {SZ_64M, "SZ_64M"},
> + {SZ_128M, "SZ_128M"},
> + {SZ_256M, "SZ_256M"},
> + {SZ_1G, "SZ_1G"}
Could you use more human-friendly strings here? 4KB, 2MB, ...1GB
> + };
> +
> + struct timeval start, end;
> + long seconds, useconds, utime;
> +
> + for (size_t i = 0; i < ARRAY_SIZE(sizes); ++i) {
> + size_t bo_size = sizes[i].size;
> + const char *size_name = sizes[i].name;
> +
> + gettimeofday(&start, NULL);
> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
> + gettimeofday(&end, NULL);
> +
> + seconds = end.tv_sec - start.tv_sec;
> + useconds = end.tv_usec - start.tv_usec;
> + utime = (seconds * 1000000) + useconds;
imho there is igt function for such time measure.
> +
> + igt_info("Time taken for size %s: %ld us\n", size_name, utime);
> + }
> +}
> +
> #define PAGES 1
> #define NCACHELINES (4096/64)
> /**
> @@ -342,12 +400,30 @@ igt_main
>
> igt_subtest("basic-store") {
> engine = xe_engine(fd, 1);
> - basic_inst(fd, STORE, &engine->instance);
> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
> + }
> +
> + igt_subtest_with_dynamic("basic-store-benchmark") {
> + struct dyn {
> + const char *name;
> + int cache;
> + } tests[] = {
> + {"WC", DRM_XE_GEM_CPU_CACHING_WC},
> + {"WB", DRM_XE_GEM_CPU_CACHING_WB}
> + };
> + /* Enable for iGFX only for now */
> + igt_require(! xe_has_vram(fd));
-------------------- ^
Please use checkpatch.pl for similar hints.
Could you test with 0 for dGFX?
> +
> + for (int i = 0; i < ARRAY_SIZE(tests); i++) {
> + igt_dynamic_f("%s", tests[i].name);
----------------------------------------------^
This is the reason you didn't see dynamic tests running with
--dyn WC, it should be:
> + engine = xe_engine(fd, 1);
> + basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
> + }
igt_dynamic_f("%s", tests[i].name) {
engine = xe_engine(fd, 1);
basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
}
Btw should you add a skip if engine == NULL?
> + }
> }
>
> igt_subtest("basic-cond-batch") {
> engine = xe_engine(fd, 1);
> - basic_inst(fd, COND_BATCH, &engine->instance);
> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
> }
>
> igt_subtest_with_dynamic("basic-all") {
> @@ -356,7 +432,7 @@ igt_main
> xe_engine_class_string(hwe->engine_class),
> hwe->engine_instance,
> hwe->gt_id);
> - basic_inst(fd, STORE, hwe);
> + basic_inst(fd, STORE, hwe, 0);
> }
> }
>
> --
> 2.42.0
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
2024-06-28 17:02 ` [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Kamil Konieczny
@ 2024-07-01 7:59 ` Nirmoy Das
2024-07-01 18:12 ` Kamil Konieczny
0 siblings, 1 reply; 8+ messages in thread
From: Nirmoy Das @ 2024-07-01 7:59 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Nirmoy Das
[-- Attachment #1: Type: text/plain, Size: 7335 bytes --]
Hi Kamil,
On 6/28/2024 7:02 PM, Kamil Konieczny wrote:
> Hi Nirmoy,
> On 2024-06-25 at 15:08:16 +0200, Nirmoy Das wrote:
>
> test names should use '-' as separator, you also used other
> name so:
> [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
>
> should be:
> [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic-store-benchmark
Looks like I misunderstood your last comment. Will fix it.
>
>> Add basic_inst_benchmark to benchmark this basic operation
> ---------- ^----^
> Same here, use '-' as separator, s/_inst_/-store-/
>
>> for BO sizes to get basic understanding how long it takes
>> bind a BO and run simple GPU command on it.
>>
>> This not a CI test but rather for developer to identify various
>> bottleneck/regression in BO binding.
>>
>> Signed-off-by: Nirmoy Das<nirmoy.das@intel.com>
>> ---
>> tests/intel/xe_exec_store.c | 112 ++++++++++++++++++++++++++++++------
>> 1 file changed, 94 insertions(+), 18 deletions(-)
>>
>> diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
>> index c872c22d5..aaabdbec3 100644
>> --- a/tests/intel/xe_exec_store.c
>> +++ b/tests/intel/xe_exec_store.c
>> @@ -93,15 +93,10 @@ static void persistance_batch(struct data *data, uint64_t addr)
>> data->addr = batch_addr;
>>
>> }
>> -/**
>> - * SUBTEST: basic-store
>> - * Description: Basic test to verify store dword.
>> - * SUBTEST: basic-cond-batch
>> - * Description: Basic test to verify cond batch end instruction.
>> - * SUBTEST: basic-all
>> - * Description: Test to verify store dword on all available engines.
>> - */
>> -static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instance *eci)
>> +
>> +static void basic_inst_size(int fd, int inst_type,
>> + struct drm_xe_engine_class_instance *eci,
>> + uint16_t cpu_caching, size_t bo_size)
>> {
>> struct drm_xe_sync sync[2] = {
>> { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
>> @@ -117,7 +112,6 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>> uint32_t exec_queue;
>> uint32_t bind_engine;
>> uint32_t syncobj;
>> - size_t bo_size;
>> int value = 0x123456;
>> uint64_t addr = 0x100000;
>> uint32_t bo = 0;
>> @@ -127,12 +121,16 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>> sync[1].handle = syncobj;
>>
>> vm = xe_vm_create(fd, 0, 0);
>> - bo_size = sizeof(*data);
>> - bo_size = xe_bb_size(fd, bo_size);
>>
>> - bo = xe_bo_create(fd, vm, bo_size,
>> - vram_if_possible(fd, eci->gt_id),
>> - DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
>> + if (cpu_caching)
>> + bo = xe_bo_create_caching(fd, vm, bo_size,
>> + vram_if_possible(fd, eci->gt_id),
>> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
>> + cpu_caching);
>> + else
>> + bo = xe_bo_create(fd, vm, bo_size,
>> + vram_if_possible(fd, eci->gt_id),
>> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
>>
>> exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
>> bind_engine = xe_bind_exec_queue_create(fd, vm, 0);
>> @@ -167,6 +165,66 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>> xe_vm_destroy(fd, vm);
>> }
>>
>> +
>> +/**
>> + * SUBTEST: basic-store
>> + * Description: Basic test to verify store dword.
>> + * SUBTEST: basic-cond-batch
>> + * Description: Basic test to verify cond batch end instruction.
>> + * SUBTEST: basic-all
>> + * Description: Test to verify store dword on all available engines.
>> + */
>> +static void basic_inst(int fd, int inst_type,
>> + struct drm_xe_engine_class_instance *eci,
>> + uint16_t cpu_caching)
>> +{
>> + size_t bo_size;
>> +
>> + bo_size = sizeof(struct data);
>> + bo_size = xe_bb_size(fd, bo_size);
>> +
>> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
>> +}
>> +
>> +/**
>> + * SUBTEST: basic-store-benchmark
>> + * Description: Basic test to verify time taken for doing store dword with various size.
>> + */
>> +static void basic_inst_benchmark(int fd, int inst_type,
>> + struct drm_xe_engine_class_instance *eci,
>> + uint16_t cpu_caching)
>> +{
>> + struct {
>> + size_t size;
>> + const char *name;
>> + } sizes[] = {
>> + {SZ_4K, "SZ_4K"},
>> + {SZ_2M, "SZ_2M"},
>> + {SZ_64M, "SZ_64M"},
>> + {SZ_128M, "SZ_128M"},
>> + {SZ_256M, "SZ_256M"},
>> + {SZ_1G, "SZ_1G"}
> Could you use more human-friendly strings here? 4KB, 2MB, ...1GB
Sure, will do that.
>
>> + };
>> +
>> + struct timeval start, end;
>> + long seconds, useconds, utime;
>> +
>> + for (size_t i = 0; i < ARRAY_SIZE(sizes); ++i) {
>> + size_t bo_size = sizes[i].size;
>> + const char *size_name = sizes[i].name;
>> +
>> + gettimeofday(&start, NULL);
>> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
>> + gettimeofday(&end, NULL);
>> +
>> + seconds = end.tv_sec - start.tv_sec;
>> + useconds = end.tv_usec - start.tv_usec;
>> + utime = (seconds * 1000000) + useconds;
> imho there is igt function for such time measure.
Do you mean igt_nsec_elapsed()
>
>> +
>> + igt_info("Time taken for size %s: %ld us\n", size_name, utime);
>> + }
>> +}
>> +
>> #define PAGES 1
>> #define NCACHELINES (4096/64)
>> /**
>> @@ -342,12 +400,30 @@ igt_main
>>
>> igt_subtest("basic-store") {
>> engine = xe_engine(fd, 1);
>> - basic_inst(fd, STORE, &engine->instance);
>> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
>> + }
>> +
>> + igt_subtest_with_dynamic("basic-store-benchmark") {
>> + struct dyn {
>> + const char *name;
>> + int cache;
>> + } tests[] = {
>> + {"WC", DRM_XE_GEM_CPU_CACHING_WC},
>> + {"WB", DRM_XE_GEM_CPU_CACHING_WB}
>> + };
>> + /* Enable for iGFX only for now */
>> + igt_require(! xe_has_vram(fd));
> -------------------- ^
> Please use checkpatch.pl for similar hints.
Took me a while find the issue :D. I tend to do that but I guess I have
to add a alias that will do a check patch before sending.
>
> Could you test with 0 for dGFX?
with fd == 0 ?
I think DRM_XE_GEM_CPU_CACHING_WB doesn't work for dGPU. I have to check
that on live machine.
>
>> +
>> + for (int i = 0; i < ARRAY_SIZE(tests); i++) {
>> + igt_dynamic_f("%s", tests[i].name);
> ----------------------------------------------^
> This is the reason you didn't see dynamic tests running with
> --dyn WC, it should be:
it should be what ? You are keep a secret :)
>
>> + engine = xe_engine(fd, 1);
>> + basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
>> + }
> igt_dynamic_f("%s", tests[i].name) {
> engine = xe_engine(fd, 1);
> basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
> }
>
> Btw should you add a skip if engine == NULL?
Yes, that should be safer.
Thanks,
Nirmoy
>
>> + }
>> }
>>
>> igt_subtest("basic-cond-batch") {
>> engine = xe_engine(fd, 1);
>> - basic_inst(fd, COND_BATCH, &engine->instance);
>> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
>> }
>>
>> igt_subtest_with_dynamic("basic-all") {
>> @@ -356,7 +432,7 @@ igt_main
>> xe_engine_class_string(hwe->engine_class),
>> hwe->engine_instance,
>> hwe->gt_id);
>> - basic_inst(fd, STORE, hwe);
>> + basic_inst(fd, STORE, hwe, 0);
>> }
>> }
>>
>> --
>> 2.42.0
>>
[-- Attachment #2: Type: text/html, Size: 9618 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
2024-07-01 7:59 ` Nirmoy Das
@ 2024-07-01 18:12 ` Kamil Konieczny
2024-07-03 14:30 ` Nirmoy Das
0 siblings, 1 reply; 8+ messages in thread
From: Kamil Konieczny @ 2024-07-01 18:12 UTC (permalink / raw)
To: igt-dev; +Cc: Nirmoy Das, Nirmoy Das
Hi Nirmoy,
On 2024-07-01 at 09:59:28 +0200, Nirmoy Das wrote:
> Hi Kamil,
>
> On 6/28/2024 7:02 PM, Kamil Konieczny wrote:
> > Hi Nirmoy,
> > On 2024-06-25 at 15:08:16 +0200, Nirmoy Das wrote:
> >
> > test names should use '-' as separator, you also used other
> > name so:
> > [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
> >
> > should be:
> > [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic-store-benchmark
> Looks like I misunderstood your last comment. Will fix it.
> >
> > > Add basic_inst_benchmark to benchmark this basic operation
> > ---------- ^----^
> > Same here, use '-' as separator, s/_inst_/-store-/
> >
> > > for BO sizes to get basic understanding how long it takes
> > > bind a BO and run simple GPU command on it.
> > >
> > > This not a CI test but rather for developer to identify various
> > > bottleneck/regression in BO binding.
> > >
> > > Signed-off-by: Nirmoy Das<nirmoy.das@intel.com>
> > > ---
> > > tests/intel/xe_exec_store.c | 112 ++++++++++++++++++++++++++++++------
> > > 1 file changed, 94 insertions(+), 18 deletions(-)
> > >
> > > diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
> > > index c872c22d5..aaabdbec3 100644
> > > --- a/tests/intel/xe_exec_store.c
> > > +++ b/tests/intel/xe_exec_store.c
> > > @@ -93,15 +93,10 @@ static void persistance_batch(struct data *data, uint64_t addr)
> > > data->addr = batch_addr;
> > > }
> > > -/**
> > > - * SUBTEST: basic-store
> > > - * Description: Basic test to verify store dword.
> > > - * SUBTEST: basic-cond-batch
> > > - * Description: Basic test to verify cond batch end instruction.
> > > - * SUBTEST: basic-all
> > > - * Description: Test to verify store dword on all available engines.
> > > - */
> > > -static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instance *eci)
> > > +
> > > +static void basic_inst_size(int fd, int inst_type,
> > > + struct drm_xe_engine_class_instance *eci,
> > > + uint16_t cpu_caching, size_t bo_size)
> > > {
> > > struct drm_xe_sync sync[2] = {
> > > { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
> > > @@ -117,7 +112,6 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> > > uint32_t exec_queue;
> > > uint32_t bind_engine;
> > > uint32_t syncobj;
> > > - size_t bo_size;
> > > int value = 0x123456;
> > > uint64_t addr = 0x100000;
> > > uint32_t bo = 0;
> > > @@ -127,12 +121,16 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> > > sync[1].handle = syncobj;
> > > vm = xe_vm_create(fd, 0, 0);
> > > - bo_size = sizeof(*data);
> > > - bo_size = xe_bb_size(fd, bo_size);
> > > - bo = xe_bo_create(fd, vm, bo_size,
> > > - vram_if_possible(fd, eci->gt_id),
> > > - DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > > + if (cpu_caching)
> > > + bo = xe_bo_create_caching(fd, vm, bo_size,
> > > + vram_if_possible(fd, eci->gt_id),
> > > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
> > > + cpu_caching);
> > > + else
> > > + bo = xe_bo_create(fd, vm, bo_size,
> > > + vram_if_possible(fd, eci->gt_id),
> > > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > > exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
> > > bind_engine = xe_bind_exec_queue_create(fd, vm, 0);
> > > @@ -167,6 +165,66 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
> > > xe_vm_destroy(fd, vm);
> > > }
> > > +
> > > +/**
> > > + * SUBTEST: basic-store
> > > + * Description: Basic test to verify store dword.
> > > + * SUBTEST: basic-cond-batch
> > > + * Description: Basic test to verify cond batch end instruction.
> > > + * SUBTEST: basic-all
> > > + * Description: Test to verify store dword on all available engines.
> > > + */
> > > +static void basic_inst(int fd, int inst_type,
> > > + struct drm_xe_engine_class_instance *eci,
> > > + uint16_t cpu_caching)
> > > +{
> > > + size_t bo_size;
> > > +
> > > + bo_size = sizeof(struct data);
> > > + bo_size = xe_bb_size(fd, bo_size);
> > > +
> > > + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
> > > +}
> > > +
> > > +/**
> > > + * SUBTEST: basic-store-benchmark
> > > + * Description: Basic test to verify time taken for doing store dword with various size.
> > > + */
> > > +static void basic_inst_benchmark(int fd, int inst_type,
> > > + struct drm_xe_engine_class_instance *eci,
> > > + uint16_t cpu_caching)
> > > +{
> > > + struct {
> > > + size_t size;
> > > + const char *name;
> > > + } sizes[] = {
> > > + {SZ_4K, "SZ_4K"},
> > > + {SZ_2M, "SZ_2M"},
> > > + {SZ_64M, "SZ_64M"},
> > > + {SZ_128M, "SZ_128M"},
> > > + {SZ_256M, "SZ_256M"},
> > > + {SZ_1G, "SZ_1G"}
> > Could you use more human-friendly strings here? 4KB, 2MB, ...1GB
> Sure, will do that.
> >
> > > + };
> > > +
> > > + struct timeval start, end;
> > > + long seconds, useconds, utime;
> > > +
> > > + for (size_t i = 0; i < ARRAY_SIZE(sizes); ++i) {
> > > + size_t bo_size = sizes[i].size;
> > > + const char *size_name = sizes[i].name;
> > > +
> > > + gettimeofday(&start, NULL);
> > > + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
> > > + gettimeofday(&end, NULL);
> > > +
> > > + seconds = end.tv_sec - start.tv_sec;
> > > + useconds = end.tv_usec - start.tv_usec;
> > > + utime = (seconds * 1000000) + useconds;
> > imho there is igt function for such time measure.
> Do you mean igt_nsec_elapsed()
There are:
igt_core.h:double igt_time_elapsed(struct timespec *then,
igt_core.h:uint64_t igt_nsec_elapsed(struct timespec *start);
igt_core.h:static inline uint32_t igt_seconds_elapsed(struct timespec *start)
Choose what you need.
> >
> > > +
> > > + igt_info("Time taken for size %s: %ld us\n", size_name, utime);
> > > + }
> > > +}
> > > +
> > > #define PAGES 1
> > > #define NCACHELINES (4096/64)
> > > /**
> > > @@ -342,12 +400,30 @@ igt_main
> > > igt_subtest("basic-store") {
> > > engine = xe_engine(fd, 1);
> > > - basic_inst(fd, STORE, &engine->instance);
> > > + basic_inst(fd, COND_BATCH, &engine->instance, 0);
> > > + }
> > > +
> > > + igt_subtest_with_dynamic("basic-store-benchmark") {
> > > + struct dyn {
> > > + const char *name;
> > > + int cache;
> > > + } tests[] = {
> > > + {"WC", DRM_XE_GEM_CPU_CACHING_WC},
> > > + {"WB", DRM_XE_GEM_CPU_CACHING_WB}
> > > + };
> > > + /* Enable for iGFX only for now */
> > > + igt_require(! xe_has_vram(fd));
> > -------------------- ^
> > Please use checkpatch.pl for similar hints.
> Took me a while find the issue :D. I tend to do that but I guess I have to
> add a alias that will do a check patch before sending.
> >
> > Could you test with 0 for dGFX?
>
> with fd == 0 ?
>
> I think DRM_XE_GEM_CPU_CACHING_WB doesn't work for dGPU. I have to check
> that on live machine.
>
> >
> > > +
> > > + for (int i = 0; i < ARRAY_SIZE(tests); i++) {
> > > + igt_dynamic_f("%s", tests[i].name);
> > ----------------------------------------------^
> > This is the reason you didn't see dynamic tests running with
> > --dyn WC, it should be:
> it should be what ? You are keep a secret :)
I see, I should explicitly point semicolon there ';'
This will run empty dynamic subtest:
igt_dynamic_f("%s", tests[i].name);
While what you wanted was written below, let me copy-paste:
igt_dynamic_f("%s", tests[i].name) {
engine = xe_engine(fd, 1);
basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
}
What I was asking was does it make sense to benchmark with
cache value 0 on dGPU?
Regards,
Kamil
> >
> > > + engine = xe_engine(fd, 1);
> > > + basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
> > > + }
> > igt_dynamic_f("%s", tests[i].name) {
> > engine = xe_engine(fd, 1);
> > basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
> > }
> >
> > Btw should you add a skip if engine == NULL?
>
> Yes, that should be safer.
>
>
> Thanks,
>
> Nirmoy
>
> >
> > > + }
> > > }
> > > igt_subtest("basic-cond-batch") {
> > > engine = xe_engine(fd, 1);
> > > - basic_inst(fd, COND_BATCH, &engine->instance);
> > > + basic_inst(fd, COND_BATCH, &engine->instance, 0);
> > > }
> > > igt_subtest_with_dynamic("basic-all") {
> > > @@ -356,7 +432,7 @@ igt_main
> > > xe_engine_class_string(hwe->engine_class),
> > > hwe->engine_instance,
> > > hwe->gt_id);
> > > - basic_inst(fd, STORE, hwe);
> > > + basic_inst(fd, STORE, hwe, 0);
> > > }
> > > }
> > > --
> > > 2.42.0
> > >
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
2024-07-01 18:12 ` Kamil Konieczny
@ 2024-07-03 14:30 ` Nirmoy Das
0 siblings, 0 replies; 8+ messages in thread
From: Nirmoy Das @ 2024-07-03 14:30 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Nirmoy Das
Hi Kamil,
On 7/1/2024 8:12 PM, Kamil Konieczny wrote:
> Hi Nirmoy,
> On 2024-07-01 at 09:59:28 +0200, Nirmoy Das wrote:
>> Hi Kamil,
>>
>> On 6/28/2024 7:02 PM, Kamil Konieczny wrote:
>>> Hi Nirmoy,
>>> On 2024-06-25 at 15:08:16 +0200, Nirmoy Das wrote:
>>>
>>> test names should use '-' as separator, you also used other
>>> name so:
>>> [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark
>>>
>>> should be:
>>> [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic-store-benchmark
>> Looks like I misunderstood your last comment. Will fix it.
>>>> Add basic_inst_benchmark to benchmark this basic operation
>>> ---------- ^----^
>>> Same here, use '-' as separator, s/_inst_/-store-/
>>>
>>>> for BO sizes to get basic understanding how long it takes
>>>> bind a BO and run simple GPU command on it.
>>>>
>>>> This not a CI test but rather for developer to identify various
>>>> bottleneck/regression in BO binding.
>>>>
>>>> Signed-off-by: Nirmoy Das<nirmoy.das@intel.com>
>>>> ---
>>>> tests/intel/xe_exec_store.c | 112 ++++++++++++++++++++++++++++++------
>>>> 1 file changed, 94 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c
>>>> index c872c22d5..aaabdbec3 100644
>>>> --- a/tests/intel/xe_exec_store.c
>>>> +++ b/tests/intel/xe_exec_store.c
>>>> @@ -93,15 +93,10 @@ static void persistance_batch(struct data *data, uint64_t addr)
>>>> data->addr = batch_addr;
>>>> }
>>>> -/**
>>>> - * SUBTEST: basic-store
>>>> - * Description: Basic test to verify store dword.
>>>> - * SUBTEST: basic-cond-batch
>>>> - * Description: Basic test to verify cond batch end instruction.
>>>> - * SUBTEST: basic-all
>>>> - * Description: Test to verify store dword on all available engines.
>>>> - */
>>>> -static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instance *eci)
>>>> +
>>>> +static void basic_inst_size(int fd, int inst_type,
>>>> + struct drm_xe_engine_class_instance *eci,
>>>> + uint16_t cpu_caching, size_t bo_size)
>>>> {
>>>> struct drm_xe_sync sync[2] = {
>>>> { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
>>>> @@ -117,7 +112,6 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>>>> uint32_t exec_queue;
>>>> uint32_t bind_engine;
>>>> uint32_t syncobj;
>>>> - size_t bo_size;
>>>> int value = 0x123456;
>>>> uint64_t addr = 0x100000;
>>>> uint32_t bo = 0;
>>>> @@ -127,12 +121,16 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>>>> sync[1].handle = syncobj;
>>>> vm = xe_vm_create(fd, 0, 0);
>>>> - bo_size = sizeof(*data);
>>>> - bo_size = xe_bb_size(fd, bo_size);
>>>> - bo = xe_bo_create(fd, vm, bo_size,
>>>> - vram_if_possible(fd, eci->gt_id),
>>>> - DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
>>>> + if (cpu_caching)
>>>> + bo = xe_bo_create_caching(fd, vm, bo_size,
>>>> + vram_if_possible(fd, eci->gt_id),
>>>> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
>>>> + cpu_caching);
>>>> + else
>>>> + bo = xe_bo_create(fd, vm, bo_size,
>>>> + vram_if_possible(fd, eci->gt_id),
>>>> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
>>>> exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
>>>> bind_engine = xe_bind_exec_queue_create(fd, vm, 0);
>>>> @@ -167,6 +165,66 @@ static void basic_inst(int fd, int inst_type, struct drm_xe_engine_class_instanc
>>>> xe_vm_destroy(fd, vm);
>>>> }
>>>> +
>>>> +/**
>>>> + * SUBTEST: basic-store
>>>> + * Description: Basic test to verify store dword.
>>>> + * SUBTEST: basic-cond-batch
>>>> + * Description: Basic test to verify cond batch end instruction.
>>>> + * SUBTEST: basic-all
>>>> + * Description: Test to verify store dword on all available engines.
>>>> + */
>>>> +static void basic_inst(int fd, int inst_type,
>>>> + struct drm_xe_engine_class_instance *eci,
>>>> + uint16_t cpu_caching)
>>>> +{
>>>> + size_t bo_size;
>>>> +
>>>> + bo_size = sizeof(struct data);
>>>> + bo_size = xe_bb_size(fd, bo_size);
>>>> +
>>>> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
>>>> +}
>>>> +
>>>> +/**
>>>> + * SUBTEST: basic-store-benchmark
>>>> + * Description: Basic test to verify time taken for doing store dword with various size.
>>>> + */
>>>> +static void basic_inst_benchmark(int fd, int inst_type,
>>>> + struct drm_xe_engine_class_instance *eci,
>>>> + uint16_t cpu_caching)
>>>> +{
>>>> + struct {
>>>> + size_t size;
>>>> + const char *name;
>>>> + } sizes[] = {
>>>> + {SZ_4K, "SZ_4K"},
>>>> + {SZ_2M, "SZ_2M"},
>>>> + {SZ_64M, "SZ_64M"},
>>>> + {SZ_128M, "SZ_128M"},
>>>> + {SZ_256M, "SZ_256M"},
>>>> + {SZ_1G, "SZ_1G"}
>>> Could you use more human-friendly strings here? 4KB, 2MB, ...1GB
>> Sure, will do that.
>>>> + };
>>>> +
>>>> + struct timeval start, end;
>>>> + long seconds, useconds, utime;
>>>> +
>>>> + for (size_t i = 0; i < ARRAY_SIZE(sizes); ++i) {
>>>> + size_t bo_size = sizes[i].size;
>>>> + const char *size_name = sizes[i].name;
>>>> +
>>>> + gettimeofday(&start, NULL);
>>>> + basic_inst_size(fd, inst_type, eci, cpu_caching, bo_size);
>>>> + gettimeofday(&end, NULL);
>>>> +
>>>> + seconds = end.tv_sec - start.tv_sec;
>>>> + useconds = end.tv_usec - start.tv_usec;
>>>> + utime = (seconds * 1000000) + useconds;
>>> imho there is igt function for such time measure.
>> Do you mean igt_nsec_elapsed()
> There are:
>
> igt_core.h:double igt_time_elapsed(struct timespec *then,
>
> igt_core.h:uint64_t igt_nsec_elapsed(struct timespec *start);
>
> igt_core.h:static inline uint32_t igt_seconds_elapsed(struct timespec *start)
>
> Choose what you need.
>
>>>> +
>>>> + igt_info("Time taken for size %s: %ld us\n", size_name, utime);
>>>> + }
>>>> +}
>>>> +
>>>> #define PAGES 1
>>>> #define NCACHELINES (4096/64)
>>>> /**
>>>> @@ -342,12 +400,30 @@ igt_main
>>>> igt_subtest("basic-store") {
>>>> engine = xe_engine(fd, 1);
>>>> - basic_inst(fd, STORE, &engine->instance);
>>>> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
>>>> + }
>>>> +
>>>> + igt_subtest_with_dynamic("basic-store-benchmark") {
>>>> + struct dyn {
>>>> + const char *name;
>>>> + int cache;
>>>> + } tests[] = {
>>>> + {"WC", DRM_XE_GEM_CPU_CACHING_WC},
>>>> + {"WB", DRM_XE_GEM_CPU_CACHING_WB}
>>>> + };
>>>> + /* Enable for iGFX only for now */
>>>> + igt_require(! xe_has_vram(fd));
>>> -------------------- ^
>>> Please use checkpatch.pl for similar hints.
>> Took me a while find the issue :D. I tend to do that but I guess I have to
>> add a alias that will do a check patch before sending.
>>> Could you test with 0 for dGFX?
>> with fd == 0 ?
>>
>> I think DRM_XE_GEM_CPU_CACHING_WB doesn't work for dGPU. I have to check
>> that on live machine.
>>
>>>> +
>>>> + for (int i = 0; i < ARRAY_SIZE(tests); i++) {
>>>> + igt_dynamic_f("%s", tests[i].name);
>>> ----------------------------------------------^
>>> This is the reason you didn't see dynamic tests running with
>>> --dyn WC, it should be:
>> it should be what ? You are keep a secret :)
> I see, I should explicitly point semicolon there ';'
> This will run empty dynamic subtest:
>
> igt_dynamic_f("%s", tests[i].name);
>
> While what you wanted was written below, let me copy-paste:
>
> igt_dynamic_f("%s", tests[i].name) {
> engine = xe_engine(fd, 1);
> basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
> }
Ah, now I see my stupidity!
>
> What I was asking was does it make sense to benchmark with
> cache value 0 on dGPU?
Yes, with 0 then a default value will be picked which for dGPU is WC. I
will disable WB cache on dGPU.
Thanks,
Nirmoy
>
> Regards,
> Kamil
>
>>>> + engine = xe_engine(fd, 1);
>>>> + basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
>>>> + }
>>> igt_dynamic_f("%s", tests[i].name) {
>>> engine = xe_engine(fd, 1);
>>> basic_inst_benchmark(fd, STORE, &engine->instance, tests[i].cache);
>>> }
>>>
>>> Btw should you add a skip if engine == NULL?
>> Yes, that should be safer.
>>
>>
>> Thanks,
>>
>> Nirmoy
>>
>>>> + }
>>>> }
>>>> igt_subtest("basic-cond-batch") {
>>>> engine = xe_engine(fd, 1);
>>>> - basic_inst(fd, COND_BATCH, &engine->instance);
>>>> + basic_inst(fd, COND_BATCH, &engine->instance, 0);
>>>> }
>>>> igt_subtest_with_dynamic("basic-all") {
>>>> @@ -356,7 +432,7 @@ igt_main
>>>> xe_engine_class_string(hwe->engine_class),
>>>> hwe->engine_instance,
>>>> hwe->gt_id);
>>>> - basic_inst(fd, STORE, hwe);
>>>> + basic_inst(fd, STORE, hwe, 0);
>>>> }
>>>> }
>>>> --
>>>> 2.42.0
>>>>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-07-03 14:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 13:08 [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Nirmoy Das
2024-06-25 14:11 ` ✓ CI.xeBAT: success for tests/intel/xe_exec_store: Add basic_inst_benchmark (rev3) Patchwork
2024-06-25 14:22 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-06-25 16:07 ` ✓ CI.xeFULL: success " Patchwork
2024-06-28 17:02 ` [PATCH i-g-t v3] tests/intel/xe_exec_store: Add basic_inst_benchmark Kamil Konieczny
2024-07-01 7:59 ` Nirmoy Das
2024-07-01 18:12 ` Kamil Konieczny
2024-07-03 14:30 ` Nirmoy Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox