tests/drm_fdinfo: Test virtual engines
From: Tvrtko Ursulin <[email protected]>
We need some coverage of the virtual engines.
v2:
* Mark contexts as "allow hang". (Umesh)
* Fix destruction order in virtual_all.
--- tests/i915/drm_fdinfo.c | 293 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 291 insertions(+), 2 deletions(-)
tests/i915/drm_fdinfo.c +291 -2
@@ -27,6 +27,7 @@#include "igt_device.h" #include "igt_drm_fdinfo.h" #include "i915/gem.h" +#include "i915/gem_vm.h" #include "intel_ctx.h" IGT_TEST_DESCRIPTION ("Test the i915 drm fdinfo data" );
@@ -90,10 +91,10 @@ static igt_spin_t *__spin_poll(int fd, uint64_t ahnd, const intel_ctx_t *ctx,struct igt_spin_factory opts = { .ahnd = ahnd, .ctx = ctx, - .engine = e->flags, + .engine = e ? e->flags :0 , }; -if (gem_class_can_store_dword (fd, e->class)) +if (!e ||gem_class_can_store_dword (fd, e->class)) opts.flags |=IGT_SPIN_POLL_RUN ;return __igt_spin_factory (fd, &opts);
@@ -440,6 +441,274 @@ all_busy_check_all(int gem_fd, const intel_ctx_t *ctx,gem_quiescent_gpu (gem_fd); } +static struct i915_engine_class_instance * +list_engines (const intel_ctx_cfg_t *cfg, +unsigned int class,unsigned int *out) +{ +struct i915_engine_class_instance *ci; +unsigned int count =0 , i; + + ci =malloc (cfg->num_engines *sizeof (*ci)); +igt_assert (ci); + +for (i =0 ; i < cfg->num_engines; i++) { +if (class == cfg->engines[i].engine_class) + ci[count++] = cfg->engines[i]; + } + +if (!count) { +free (ci); + ci =NULL ; + } + + *out = count; +return ci; +} + +static size_t sizeof_load_balance (int count) +{ +return offsetof(struct i915_context_engines_load_balance , + engines[count]); +} + +static size_t sizeof_param_engines (int count) +{ +return offsetof(struct i915_context_param_engines , + engines[count]); +} + +#define alloca0 (sz) ({ size_t sz__ = (sz); memset(alloca(sz__), 0, sz__); }) + +static int __set_load_balancer (int i915,uint32_t ctx, +const struct i915_engine_class_instance *ci, +unsigned int count, +void *ext) +{ +struct i915_context_engines_load_balance *balancer = +alloca0 (sizeof_load_balance (count)); +struct i915_context_param_engines *engines = +alloca0 (sizeof_param_engines (count +1 )); +struct drm_i915_gem_context_param p = { + .ctx_id = ctx, + .param =I915_CONTEXT_PARAM_ENGINES , + .size =sizeof_param_engines (count +1 ), + .value =to_user_pointer (engines) + }; + + balancer->base.name =I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE ; + balancer->base.next_extension =to_user_pointer (ext); + +igt_assert (count); + balancer->num_siblings = count; +memcpy (balancer->engines, ci, count *sizeof (*ci)); + + engines->extensions =to_user_pointer (balancer); + engines->engines[0 ].engine_class = +I915_ENGINE_CLASS_INVALID ; + engines->engines[0 ].engine_instance = +I915_ENGINE_CLASS_INVALID_NONE ; +memcpy (engines->engines +1 , ci, count *sizeof (*ci)); + +return __gem_context_set_param (i915, &p); +} + +static void set_load_balancer (int i915,uint32_t ctx, +const struct i915_engine_class_instance *ci, +unsigned int count, +void *ext) +{ +igt_assert_eq (__set_load_balancer (i915, ctx, ci, count, ext),0 ); +} + +static void +virtual (int i915,const intel_ctx_cfg_t *base_cfg,unsigned int flags) +{ +intel_ctx_cfg_t cfg = {}; + + cfg.vm =gem_vm_create (i915); + +for (int class =0 ; class <32 ; class++) { +struct i915_engine_class_instance *ci; +unsigned int count; + +if (!gem_class_can_store_dword (i915, class)) +continue ; + + ci =list_engines (base_cfg, class, &count); +if (!ci) +continue ; + +for (unsigned int pass =0 ; pass < count; pass++) { +const intel_ctx_t *ctx; +unsigned long slept; +uint64_t ahnd, val; +igt_spin_t *spin; +igt_hang_t hang; + +igt_assert (sizeof (*ci) ==sizeof (int )); +igt_permute_array (ci, count, igt_exchange_int); + +igt_debug ("class %u, pass %u/%u...\n" , class, pass, count); + + ctx =intel_ctx_create (i915, &cfg); +set_load_balancer (i915, ctx->id, ci, count,NULL ); +if (flags &FLAG_HANG ) + hang =igt_allow_hang (i915, ctx->id,0 ); + ahnd =get_reloc_ahnd (i915, ctx->id); + +if (flags &TEST_BUSY ) + spin =spin_sync (i915, ahnd, ctx,NULL ); +else + spin =NULL ; + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns /1000 ); +if (flags &TEST_TRAILING_IDLE ) +end_spin (i915, spin, flags); + val =read_busy (i915, class) - val; + +if (flags &FLAG_HANG ) +igt_force_gpu_reset (i915); +else +end_spin (i915, spin,FLAG_SYNC ); + +assert_within_epsilon (val, + flags &TEST_BUSY ? + slept :0.0f , + tolerance); + +/* Check for idle after hang. */ +if (flags &FLAG_HANG ) { +gem_quiescent_gpu (i915); +igt_assert (!gem_bo_busy (i915, spin->handle)); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns / +1000 ); + val =read_busy (i915, class) - val; + +assert_within_epsilon (val,0 , tolerance); + } + +igt_spin_free (i915, spin); +put_ahnd (ahnd); +if (flags &FLAG_HANG ) +igt_disallow_hang (i915, hang); +intel_ctx_destroy (i915, ctx); + +gem_quiescent_gpu (i915); + } + +free (ci); + } +} + +static void +__virt_submit_spin (int i915,igt_spin_t *spin, +const intel_ctx_t *ctx, +int offset) +{ +struct drm_i915_gem_execbuffer2 eb = spin->execbuf; + + eb.flags &= ~(0x3f |I915_EXEC_BSD_MASK ); + eb.flags |=I915_EXEC_NO_RELOC ; + eb.batch_start_offset += offset; + eb.rsvd1 = ctx->id; + +gem_execbuf (i915, &eb); +} + +static void +virtual_all (int i915,const intel_ctx_cfg_t *base_cfg,unsigned int flags) +{ +const unsigned int num_engines = base_cfg->num_engines; +intel_ctx_cfg_t cfg = {}; + + cfg.vm =gem_vm_create (i915); + +for (int class =0 ; class <32 ; class++) { +struct i915_engine_class_instance *ci; +const intel_ctx_t *ctx[num_engines]; +igt_hang_t hang[num_engines]; +igt_spin_t *spin =NULL ; +unsigned int count; +unsigned long slept; +uint64_t val; + +if (!gem_class_can_store_dword (i915, class)) +continue ; + + ci =list_engines (base_cfg, class, &count); +if (!ci) +continue ; +igt_assert (count <= num_engines); + +if (count <2 ) +continue ; + +igt_debug ("class %u, %u engines...\n" , class, count); + +for (unsigned int i =0 ; i < count; i++) { +uint64_t ahnd; + +igt_assert (sizeof (*ci) ==sizeof (int )); +igt_permute_array (ci, count, igt_exchange_int); + + ctx[i] =intel_ctx_create (i915, &cfg); +set_load_balancer (i915, ctx[i]->id, ci, count,NULL ); +if (flags &FLAG_HANG ) + hang[i] =igt_allow_hang (i915, ctx[i]->id,0 ); + ahnd =get_reloc_ahnd (i915, ctx[i]->id); + +if (spin) +__virt_submit_spin (i915, spin, ctx[i],64 ); +else + spin =__spin_poll (i915, ahnd, ctx[i],NULL ); + } + +/* Small delay to allow engines to start. */ +usleep (__spin_wait (i915, spin) * count /1e3 ); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns /1000 ); +if (flags &TEST_TRAILING_IDLE ) +end_spin (i915, spin, flags); + val =read_busy (i915, class) - val; + +if (flags &FLAG_HANG ) +igt_force_gpu_reset (i915); +else +end_spin (i915, spin,FLAG_SYNC ); + +assert_within_epsilon (val, slept * count, tolerance); + +/* Check for idle after hang. */ +if (flags &FLAG_HANG ) { +gem_quiescent_gpu (i915); +igt_assert (!gem_bo_busy (i915, spin->handle)); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns / +1000 ); + val =read_busy (i915, class) - val; + +assert_within_epsilon (val,0 , tolerance); + } + +igt_spin_free (i915, spin); +put_ahnd (spin->opts.ahnd); +for (unsigned int i =0 ; i < count; i++) { +if (flags &FLAG_HANG ) +igt_disallow_hang (i915, hang[i]); +intel_ctx_destroy (i915, ctx[i]); + } + +gem_quiescent_gpu (i915); + +free (ci); + } +} +#define test_each_engine (T , i915, ctx, e) \ igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \ igt_dynamic_f("%s", e->name)
@@ -489,15 +758,24 @@ igt_main test_each_engine("idle", i915, ctx, e)single (i915, ctx, e,0 ); + igt_subtest("virtual-idle") +virtual (i915, &ctx->cfg,0 ); +/** * Test that a single engine reports load correctly. */ test_each_engine("busy", i915, ctx, e)single (i915, ctx, e,TEST_BUSY ); + igt_subtest("virtual-busy") +virtual (i915, &ctx->cfg,TEST_BUSY ); + test_each_engine("busy-idle", i915, ctx, e)single (i915, ctx, e,TEST_BUSY |TEST_TRAILING_IDLE ); + igt_subtest("virtual-busy-idle") +virtual (i915, &ctx->cfg,TEST_BUSY |TEST_TRAILING_IDLE ); + test_each_engine("busy-hang", i915, ctx, e) {igt_hang_t hang =igt_allow_hang (i915, ctx->id,0 );
@@ -506,6 +784,9 @@ igt_mainigt_disallow_hang (i915, hang); } + igt_subtest("virtual-busy-hang") +virtual (i915, &ctx->cfg,TEST_BUSY |FLAG_HANG ); +/** * Test that when one engine is loaded other report no * load.
@@ -544,6 +825,14 @@ igt_mainall_busy_check_all (i915, ctx, num_engines, classes, num_classes,TEST_BUSY |TEST_TRAILING_IDLE ); + igt_subtest("virtual-busy-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY ); + + igt_subtest("virtual-busy-idle-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY |TEST_TRAILING_IDLE ); + + igt_subtest("virtual-busy-hang-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY |FLAG_HANG );/** * Test for no cross-client contamination. */
Signature · 1 line
2.34.1
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for tests/drm_fdinfo: Test virtual engines (rev2)
== Series Details ==
== Series Details ==
Series: tests/drm_fdinfo: Test virtual engines (rev2)
URL : https://patchwork.freedesktop.org/series/105227/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11775 -> IGTPW_7332
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
Participating hosts (32 -> 35)
------------------------------
Additional (4): fi-cml-u2 fi-icl-u2 fi-tgl-dsi fi-pnv-d510
Missing (1): fi-bdw-samus
Known issues
------------
Here are the changes found in IGTPW_7332 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_fence@basic-busy@bcs0:
- fi-cml-u2: NOTRUN -> [SKIP][1] ([i915#1208]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@gem_exec_fence@[email protected]
* igt@gem_huc_copy@huc-copy:
- fi-cml-u2: NOTRUN -> [SKIP][2] ([i915#2190])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
- fi-icl-u2: NOTRUN -> [SKIP][3] ([i915#2190])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@gem_lmem_swapping@random-engines:
- fi-icl-u2: NOTRUN -> [SKIP][4] ([i915#4613]) +3 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@gem_lmem_swapping@verify-random:
- fi-cml-u2: NOTRUN -> [SKIP][5] ([i915#4613]) +3 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
* igt@i915_pm_rpm@module-reload:
- fi-icl-u2: NOTRUN -> [INCOMPLETE][6] ([i915#4890])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@i915_selftest@live@gem:
- fi-blb-e6850: NOTRUN -> [DMESG-FAIL][7] ([i915#4528])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-blb-e6850/igt@i915_selftest@[email protected]
* igt@i915_selftest@live@requests:
- fi-pnv-d510: NOTRUN -> [DMESG-FAIL][8] ([i915#4528])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-pnv-d510/igt@i915_selftest@[email protected]
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2: NOTRUN -> [SKIP][9] ([fdo#111827]) +7 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@kms_chamelium@vga-hpd-fast:
- fi-cml-u2: NOTRUN -> [SKIP][10] ([fdo#109284] / [fdo#111827]) +8 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- fi-cml-u2: NOTRUN -> [SKIP][11] ([fdo#109278]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
- fi-icl-u2: NOTRUN -> [SKIP][12] ([fdo#109278] / [i915#4103]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@kms_force_connector_basic@force-connector-state:
- fi-icl-u2: NOTRUN -> [WARN][13] ([i915#6008])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@kms_force_connector_basic@force-load-detect:
- fi-cml-u2: NOTRUN -> [SKIP][14] ([fdo#109285])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
- fi-icl-u2: NOTRUN -> [SKIP][15] ([fdo#109285])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@kms_frontbuffer_tracking@basic:
- fi-cml-u2: NOTRUN -> [DMESG-WARN][16] ([i915#4269])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- fi-cml-u2: NOTRUN -> [SKIP][17] ([fdo#109278] / [i915#533])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
- fi-icl-u2: NOTRUN -> [SKIP][18] ([fdo#109278])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@kms_psr@primary_page_flip:
- fi-pnv-d510: NOTRUN -> [SKIP][19] ([fdo#109271]) +39 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-pnv-d510/igt@kms_psr@primary_page_flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- fi-icl-u2: NOTRUN -> [SKIP][20] ([i915#3555])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
- fi-cml-u2: NOTRUN -> [SKIP][21] ([i915#3555])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
* igt@prime_vgem@basic-userptr:
- fi-cml-u2: NOTRUN -> [SKIP][22] ([fdo#109295] / [i915#3301])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-cml-u2/igt@[email protected]
- fi-icl-u2: NOTRUN -> [SKIP][23] ([fdo#109295] / [i915#3301])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
* igt@runner@aborted:
- fi-icl-u2: NOTRUN -> [FAIL][24] ([i915#3690] / [i915#4312])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-icl-u2/igt@[email protected]
- fi-pnv-d510: NOTRUN -> [FAIL][25] ([fdo#109271] / [i915#2403] / [i915#4312])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-pnv-d510/igt@[email protected]
#### Possible fixes ####
* igt@i915_pm_rpm@module-reload:
- fi-bsw-n3050: [FAIL][26] ([i915#6042]) -> [PASS][27]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/fi-bsw-n3050/igt@[email protected]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-bsw-n3050/igt@[email protected]
* igt@i915_selftest@live@requests:
- fi-blb-e6850: [DMESG-FAIL][28] ([i915#4528]) -> [PASS][29]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/fi-blb-e6850/igt@i915_selftest@[email protected]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-blb-e6850/igt@i915_selftest@[email protected]
* igt@kms_flip@basic-plain-flip@a-edp1:
- fi-tgl-u2: [DMESG-WARN][30] ([i915#402]) -> [PASS][31] +1 similar issue
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/fi-tgl-u2/igt@kms_flip@[email protected]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/fi-tgl-u2/igt@kms_flip@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1208]: https://gitlab.freedesktop.org/drm/intel/issues/1208
[i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2373]: https://gitlab.freedesktop.org/drm/intel/issues/2373
[i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4890]: https://gitlab.freedesktop.org/drm/intel/issues/4890
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5903]: https://gitlab.freedesktop.org/drm/intel/issues/5903
[i915#6008]: https://gitlab.freedesktop.org/drm/intel/issues/6008
[i915#6042]: https://gitlab.freedesktop.org/drm/intel/issues/6042
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6534 -> IGTPW_7332
CI-20190529: 20190529
CI_DRM_11775: 93bea5a783b94aa5336606ddee482f659ccd9804 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7332: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
IGT_6534: 6137099c021e26b8593ddd832d6e3b3d3bc3b1d0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@drm_fdinfo@virtual-busy
+igt@drm_fdinfo@virtual-busy-all
+igt@drm_fdinfo@virtual-busy-hang
+igt@drm_fdinfo@virtual-busy-hang-all
+igt@drm_fdinfo@virtual-busy-idle
+igt@drm_fdinfo@virtual-busy-idle-all
+igt@drm_fdinfo@virtual-idle
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
Patchwork
CI[Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/drm_fdinfo: Test virtual engines
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: tests/drm_fdinfo: Test virtual engines
URL : https://patchwork.freedesktop.org/series/105278/
State : failure
== Summary ==
Error: patch https://patchwork.freedesktop.org/api/1.0/series/105278/revisions/1/mbox/ not applied
Applying: tests/drm_fdinfo: Test virtual engines
error: sha1 information is lacking or useless (tests/i915/drm_fdinfo.c).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 tests/drm_fdinfo: Test virtual engines
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Patchwork
CI[igt-dev] ✗ Fi.CI.IGT: failure for tests/drm_fdinfo: Test virtual engines (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: tests/drm_fdinfo: Test virtual engines (rev2)
URL : https://patchwork.freedesktop.org/series/105227/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_11775_full -> IGTPW_7332_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_7332_full absolutely need to be verified manually.
If you think the reported changes have nothing to do with the changes introduced in IGTPW_7332_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
Participating hosts (13 -> 7)
------------------------------
Missing (6): pig-kbl-iris shard-tglu pig-glk-j5005 pig-skl-6260u shard-rkl shard-dg1
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_7332_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_pipe_crc_basic@read-crc-pipe-d:
- shard-tglb: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb8/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb8/igt@[email protected]
New tests
---------
New tests have been introduced between CI_DRM_11775_full and IGTPW_7332_full:
### New IGT tests (7) ###
* igt@drm_fdinfo@virtual-busy:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 2.66] s
* igt@drm_fdinfo@virtual-busy-all:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 0.52] s
* igt@drm_fdinfo@virtual-busy-hang:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 5.48] s
* igt@drm_fdinfo@virtual-busy-hang-all:
- Statuses : 3 pass(s) 1 skip(s)
- Exec time: [0.0, 1.11] s
* igt@drm_fdinfo@virtual-busy-idle:
- Statuses : 3 pass(s) 1 skip(s)
- Exec time: [0.0, 3.19] s
* igt@drm_fdinfo@virtual-busy-idle-all:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 0.64] s
* igt@drm_fdinfo@virtual-idle:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 2.53] s
Known issues
------------
Here are the changes found in IGTPW_7332_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_balancer@parallel-bb-first:
- shard-iclb: [PASS][3] -> [SKIP][4] ([i915#4525]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb2/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
* igt@gem_exec_fair@basic-none@vcs0:
- shard-kbl: NOTRUN -> [FAIL][5] ([i915#2842])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl4/igt@gem_exec_fair@[email protected]
* igt@gem_exec_fair@basic-none@vecs0:
- shard-apl: [PASS][6] -> [FAIL][7] ([i915#2842]) +1 similar issue
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl8/igt@gem_exec_fair@[email protected]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl3/igt@gem_exec_fair@[email protected]
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-kbl: [PASS][8] -> [FAIL][9] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl6/igt@gem_exec_fair@[email protected]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl7/igt@gem_exec_fair@[email protected]
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-iclb: NOTRUN -> [FAIL][10] ([i915#2842])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb2/igt@gem_exec_fair@[email protected]
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-iclb: [PASS][11] -> [FAIL][12] ([i915#2849])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb5/igt@gem_exec_fair@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@gem_exec_fair@[email protected]
* igt@gem_exec_suspend@basic-s3@smem:
- shard-apl: [PASS][13] -> [DMESG-WARN][14] ([i915#180]) +6 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl8/igt@gem_exec_suspend@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl7/igt@gem_exec_suspend@[email protected]
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-kbl: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4613]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl7/igt@[email protected]
* igt@gem_lmem_swapping@parallel-random-engines:
- shard-iclb: NOTRUN -> [SKIP][16] ([i915#4613])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][17] ([i915#4613])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb7/igt@[email protected]
- shard-glk: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4613])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk1/igt@[email protected]
* igt@gem_lmem_swapping@verify:
- shard-apl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4613]) +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl3/igt@[email protected]
* igt@gem_softpin@evict-snoop:
- shard-tglb: NOTRUN -> [SKIP][20] ([fdo#109312])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][21] ([fdo#109312])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
* igt@gem_userptr_blits@vma-merge:
- shard-kbl: NOTRUN -> [FAIL][22] ([i915#3318])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl3/igt@[email protected]
* igt@gen7_exec_parse@basic-allocation:
- shard-iclb: NOTRUN -> [SKIP][23] ([fdo#109289])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][24] ([fdo#109289])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [PASS][25] -> [SKIP][26] ([fdo#109271])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl7/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl8/igt@[email protected]
* igt@i915_pm_rpm@pc8-residency:
- shard-iclb: NOTRUN -> [SKIP][27] ([fdo#109293] / [fdo#109506])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][28] ([fdo#109506] / [i915#2411])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb6/igt@[email protected]
* igt@i915_selftest@live@hangcheck:
- shard-tglb: [PASS][29] -> [DMESG-WARN][30] ([i915#5591])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb8/igt@i915_selftest@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb8/igt@i915_selftest@[email protected]
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-tglb: NOTRUN -> [SKIP][31] ([fdo#111615])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][32] ([fdo#110723])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
* igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][33] ([fdo#109278] / [i915#3886])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html
- shard-tglb: NOTRUN -> [SKIP][34] ([i915#3689] / [i915#3886])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html
- shard-glk: NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#3886])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk2/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_rc_ccs_cc:
- shard-tglb: NOTRUN -> [SKIP][36] ([i915#6095]) +1 similar issue
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb6/igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][37] ([fdo#109271] / [i915#3886]) +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl1/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#3886]) +5 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl3/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-crc-primary-basic-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][39] ([fdo#111615] / [i915#3689])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb8/igt@kms_ccs@pipe-c-crc-primary-basic-yf_tiled_ccs.html
* igt@kms_chamelium@dp-hpd-storm-disable:
- shard-apl: NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl1/igt@[email protected]
- shard-snb: NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-snb2/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb3/igt@[email protected]
- shard-glk: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk3/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][44] ([fdo#109284] / [fdo#111827])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@[email protected]
* igt@kms_color_chamelium@pipe-a-gamma:
- shard-kbl: NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +7 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl4/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-max-size-random:
- shard-tglb: NOTRUN -> [SKIP][46] ([i915#3359])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb2/igt@[email protected]
* igt@kms_cursor_crc@pipe-b-cursor-512x512-onscreen:
- shard-tglb: NOTRUN -> [SKIP][47] ([fdo#109279] / [i915#3359])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][48] ([fdo#109278] / [fdo#109279])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb3/igt@[email protected]
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: [PASS][49] -> [FAIL][50] ([i915#2346] / [i915#533])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@pipe-d-single-move:
- shard-glk: NOTRUN -> [SKIP][51] ([fdo#109271]) +23 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk8/igt@[email protected]
* igt@kms_cursor_legacy@pipe-d-torture-bo:
- shard-apl: NOTRUN -> [SKIP][52] ([fdo#109271] / [i915#533])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl2/igt@[email protected]
* igt@kms_display_modes@extended-mode-basic:
- shard-tglb: NOTRUN -> [SKIP][53] ([fdo#109274])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb3/igt@[email protected]
* igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-4tiled:
- shard-tglb: NOTRUN -> [SKIP][54] ([i915#5287])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][55] ([i915#5287])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb3/igt@[email protected]
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [PASS][56] -> [INCOMPLETE][57] ([i915#180] / [i915#1982] / [i915#4939])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl1/igt@[email protected]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl1/igt@[email protected]
* igt@kms_flip@2x-plain-flip:
- shard-tglb: NOTRUN -> [SKIP][58] ([fdo#109274] / [fdo#111825]) +2 similar issues
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109274]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb5/igt@[email protected]
* igt@kms_flip@flip-vs-suspend@a-dp1:
- shard-kbl: [PASS][60] -> [DMESG-WARN][61] ([i915#180]) +7 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl4/igt@kms_flip@[email protected]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl6/igt@kms_flip@[email protected]
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-glk: [PASS][62] -> [FAIL][63] ([i915#4911])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-iclb: [PASS][64] -> [SKIP][65] ([i915#3701])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-kbl: NOTRUN -> [SKIP][66] ([fdo#109271]) +117 similar issues
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
- shard-tglb: NOTRUN -> [SKIP][67] ([fdo#109280] / [fdo#111825]) +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb7/igt@[email protected]
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109280]) +2 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- shard-kbl: NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#533])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl1/igt@[email protected]
* igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
- shard-apl: NOTRUN -> [FAIL][70] ([fdo#108145] / [i915#265])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl2/igt@[email protected]
* igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
- shard-kbl: NOTRUN -> [FAIL][71] ([i915#265])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl6/igt@[email protected]
* igt@kms_plane_alpha_blend@pipe-d-constant-alpha-min:
- shard-iclb: NOTRUN -> [SKIP][72] ([fdo#109278]) +8 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb4/igt@[email protected]
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-a-dp-1:
- shard-apl: NOTRUN -> [SKIP][73] ([fdo#109271]) +65 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl7/igt@kms_plane_scaling@[email protected]
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-a-edp-1:
- shard-tglb: NOTRUN -> [SKIP][74] ([i915#5176]) +3 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb2/igt@kms_plane_scaling@[email protected]
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][75] ([fdo#109271]) +49 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-snb5/igt@kms_plane_scaling@[email protected]
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-c-edp-1:
- shard-iclb: NOTRUN -> [SKIP][76] ([i915#5176]) +2 similar issues
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb1/igt@kms_plane_scaling@[email protected]
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-kbl: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#658])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl1/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][78] -> [SKIP][79] ([fdo#109441]) +1 similar issue
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_sysfs_edid_timing:
- shard-kbl: NOTRUN -> [FAIL][80] ([IGT#2])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl6/igt@kms_sysfs_edid_timing.html
* igt@perf@stress-open-close:
- shard-glk: [PASS][81] -> [INCOMPLETE][82] ([i915#5213])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk6/igt@[email protected]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk2/igt@[email protected]
* igt@prime_nv_pcopy@test3_1:
- shard-tglb: NOTRUN -> [SKIP][83] ([fdo#109291])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb7/igt@prime_nv_pcopy@test3_1.html
- shard-iclb: NOTRUN -> [SKIP][84] ([fdo#109291])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@prime_nv_pcopy@test3_1.html
* igt@sw_sync@sync_merge_same:
- shard-kbl: NOTRUN -> [FAIL][85] ([i915#6140])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl3/igt@sw_sync@sync_merge_same.html
* igt@sysfs_clients@recycle-many:
- shard-iclb: NOTRUN -> [SKIP][86] ([i915#2994])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb4/igt@[email protected]
- shard-kbl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#2994]) +1 similar issue
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl1/igt@[email protected]
- shard-apl: NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#2994])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl7/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][89] ([i915#2994])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb1/igt@[email protected]
- shard-glk: NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#2994])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk5/igt@[email protected]
#### Possible fixes ####
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglb: [FAIL][91] -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb5/igt@[email protected]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb6/igt@[email protected]
* igt@gem_eio@unwedge-stress:
- shard-iclb: [TIMEOUT][93] ([i915#3070]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb1/igt@[email protected]
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb4/igt@[email protected]
- shard-tglb: [FAIL][95] ([i915#5784]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb1/igt@[email protected]
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb7/igt@[email protected]
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-iclb: [SKIP][97] ([i915#4525]) -> [PASS][98] +1 similar issue
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb3/igt@[email protected]
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb1/igt@[email protected]
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-glk: [FAIL][99] ([i915#2842]) -> [PASS][100] +4 similar issues
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk2/igt@gem_exec_fair@[email protected]
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk1/igt@gem_exec_fair@[email protected]
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-tglb: [FAIL][101] ([i915#2842]) -> [PASS][102] +2 similar issues
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb2/igt@gem_exec_fair@[email protected]
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb8/igt@gem_exec_fair@[email protected]
- shard-kbl: [FAIL][103] ([i915#2842]) -> [PASS][104] +1 similar issue
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl6/igt@gem_exec_fair@[email protected]
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl7/igt@gem_exec_fair@[email protected]
* igt@i915_suspend@forcewake:
- shard-kbl: [DMESG-WARN][105] ([i915#180]) -> [PASS][106] +1 similar issue
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl7/igt@[email protected]
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl6/igt@[email protected]
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
- shard-glk: [FAIL][107] ([i915#1888] / [i915#5138]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk4/igt@[email protected]
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk8/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-apl: [DMESG-WARN][109] ([i915#180]) -> [PASS][110] +3 similar issues
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl7/igt@[email protected]
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl4/igt@[email protected]
* igt@kms_dither@fb-8bpc-vs-panel-8bpc@pipe-a-hdmi-a-1:
- shard-glk: [SKIP][111] ([fdo#109271]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk8/igt@kms_dither@[email protected]
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk3/igt@kms_dither@[email protected]
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2:
- shard-glk: [FAIL][113] ([i915#79]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-glk7/igt@kms_flip@[email protected]
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-glk1/igt@kms_flip@[email protected]
* igt@kms_hdmi_inject@inject-audio:
- shard-iclb: [SKIP][115] -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb8/igt@[email protected]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb7/igt@[email protected]
- shard-kbl: [SKIP][117] ([fdo#109271]) -> [PASS][118] +1 similar issue
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl6/igt@[email protected]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl3/igt@[email protected]
- shard-snb: [SKIP][119] ([fdo#109271]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-snb4/igt@[email protected]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-snb6/igt@[email protected]
- shard-tglb: [SKIP][121] ([i915#433]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-tglb2/igt@[email protected]
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-tglb3/igt@[email protected]
* igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1:
- shard-kbl: [FAIL][123] ([i915#1188]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-kbl6/igt@kms_hdr@[email protected]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-kbl3/igt@kms_hdr@[email protected]
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1:
- shard-iclb: [SKIP][125] ([i915#5235]) -> [PASS][126] +5 similar issues
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb2/igt@kms_plane_scaling@[email protected]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb8/igt@kms_plane_scaling@[email protected]
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [SKIP][127] ([fdo#109441]) -> [PASS][128] +2 similar issues
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb4/igt@kms_psr@psr2_no_drrs.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
#### Warnings ####
* igt@gem_exec_balancer@parallel-ordering:
- shard-iclb: [SKIP][129] ([i915#4525]) -> [FAIL][130] ([i915#6117])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb5/igt@[email protected]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb4/igt@[email protected]
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-iclb: [SKIP][131] ([i915#658]) -> [SKIP][132] ([i915#2920])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb5/igt@[email protected]
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb2/igt@[email protected]
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
- shard-iclb: [SKIP][133] ([i915#2920]) -> [SKIP][134] ([i915#658]) +1 similar issue
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-iclb2/igt@[email protected]
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-iclb6/igt@[email protected]
* igt@runner@aborted:
- shard-apl: ([FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][141], [FAIL][142], [FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl7/igt@[email protected]
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl3/igt@[email protected]
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl1/igt@[email protected]
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl4/igt@[email protected]
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl6/igt@[email protected]
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11775/shard-apl7/igt@[email protected]
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl8/igt@[email protected]
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl4/igt@[email protected]
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl3/igt@[email protected]
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl1/igt@[email protected]
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl7/igt@[email protected]
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl7/igt@[email protected]
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl2/igt@[email protected]
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/shard-apl8/igt@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4911]: https://gitlab.freedesktop.org/drm/intel/issues/4911
[i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
[i915#6140]: https://gitlab.freedesktop.org/drm/intel/issues/6140
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6534 -> IGTPW_7332
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_11775: 93bea5a783b94aa5336606ddee482f659ccd9804 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7332: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
IGT_6534: 6137099c021e26b8593ddd832d6e3b3d3bc3b1d0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7332/index.html
Hi Tvrtko,
Quoted 351 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
We need some coverage of the virtual engines.
v2:
* Mark contexts as "allow hang". (Umesh)
* Fix destruction order invirtual_all.Signed-off-by Tvrtko Ursulin <[email protected]>Cc Umesh Nerlige Ramappa <[email protected]>Reviewed-by Umesh Nerlige Ramappa <[email protected]>--- tests/i915/drm_fdinfo.c | 293 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 291 insertions(+), 2 deletions(-)tests/i915/drm_fdinfo.c +283
-2@@ -27,6 +27,7 @@#include "igt_device.h" #include "igt_drm_fdinfo.h" #include "i915/gem.h" +#include "i915/gem_vm.h" #include "intel_ctx.h" IGT_TEST_DESCRIPTION ("Test the i915 drm fdinfo data" );@@ -90,10 +91,10 @@ static igt_spin_t *__spin_poll(int fd, uint64_t ahnd, const intel_ctx_t *ctx,struct igt_spin_factory opts = { .ahnd = ahnd, .ctx = ctx, - .engine = e->flags, + .engine = e ? e->flags :0 , }; -if (gem_class_can_store_dword (fd, e->class)) +if (!e ||gem_class_can_store_dword (fd, e->class)) opts.flags |=IGT_SPIN_POLL_RUN ;return __igt_spin_factory (fd, &opts);@@ -440,6 +441,274 @@ all_busy_check_all(int gem_fd, const intel_ctx_t *ctx,gem_quiescent_gpu (gem_fd); } +static struct i915_engine_class_instance * +list_engines (const intel_ctx_cfg_t *cfg, +unsigned int class,unsigned int *out) +{ +struct i915_engine_class_instance *ci; +unsigned int count =0 , i; + + ci =malloc (cfg->num_engines *sizeof (*ci)); +igt_assert (ci); + +for (i =0 ; i < cfg->num_engines; i++) { +if (class == cfg->engines[i].engine_class) + ci[count++] = cfg->engines[i]; + } + +if (!count) { +free (ci); + ci =NULL ; + } + + *out = count; +return ci; +} + +static size_t sizeof_load_balance (int count) +{ +return offsetof(struct i915_context_engines_load_balance , + engines[count]); +} + +static size_t sizeof_param_engines (int count) +{ +return offsetof(struct i915_context_param_engines , + engines[count]); +} + +#define alloca0 (sz) ({ size_t sz__ = (sz); memset(alloca(sz__), 0, sz__); }) + +static int __set_load_balancer (int i915,uint32_t ctx, +const struct i915_engine_class_instance *ci, +unsigned int count, +void *ext) +{ +struct i915_context_engines_load_balance *balancer = +alloca0 (sizeof_load_balance (count)); +struct i915_context_param_engines *engines = +alloca0 (sizeof_param_engines (count +1 )); +struct drm_i915_gem_context_param p = { + .ctx_id = ctx, + .param =I915_CONTEXT_PARAM_ENGINES , + .size =sizeof_param_engines (count +1 ), + .value =to_user_pointer (engines) + }; + + balancer->base.name =I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE ; + balancer->base.next_extension =to_user_pointer (ext); + +igt_assert (count); + balancer->num_siblings = count; +memcpy (balancer->engines, ci, count *sizeof (*ci)); + + engines->extensions =to_user_pointer (balancer); + engines->engines[0 ].engine_class = +I915_ENGINE_CLASS_INVALID ; + engines->engines[0 ].engine_instance = +I915_ENGINE_CLASS_INVALID_NONE ; +memcpy (engines->engines +1 , ci, count *sizeof (*ci)); + +return __gem_context_set_param (i915, &p); +} + +static void set_load_balancer (int i915,uint32_t ctx, +const struct i915_engine_class_instance *ci, +unsigned int count, +void *ext) +{ +igt_assert_eq (__set_load_balancer (i915, ctx, ci, count, ext),0 ); +} + +static void +virtual (int i915,const intel_ctx_cfg_t *base_cfg,unsigned int flags) +{ +intel_ctx_cfg_t cfg = {}; + + cfg.vm =gem_vm_create (i915); + +for (int class =0 ; class <32 ; class++) { +struct i915_engine_class_instance *ci; +unsigned int count; + +if (!gem_class_can_store_dword (i915, class)) +continue ; + + ci =list_engines (base_cfg, class, &count); +if (!ci) +continue ; + +for (unsigned int pass =0 ; pass < count; pass++) { +const intel_ctx_t *ctx; +unsigned long slept; +uint64_t ahnd, val; +igt_spin_t *spin; +igt_hang_t hang; + +igt_assert (sizeof (*ci) ==sizeof (int )); +igt_permute_array (ci, count, igt_exchange_int); + +igt_debug ("class %u, pass %u/%u...\n" , class, pass, count); + + ctx =intel_ctx_create (i915, &cfg); +set_load_balancer (i915, ctx->id, ci, count,NULL ); +if (flags &FLAG_HANG ) + hang =igt_allow_hang (i915, ctx->id,0 ); + ahnd =get_reloc_ahnd (i915, ctx->id); + +if (flags &TEST_BUSY ) + spin =spin_sync (i915, ahnd, ctx,NULL ); +else + spin =NULL ; + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns /1000 ); +if (flags &TEST_TRAILING_IDLE ) +end_spin (i915, spin, flags); + val =read_busy (i915, class) - val; + +if (flags &FLAG_HANG ) +igt_force_gpu_reset (i915); +else +end_spin (i915, spin,FLAG_SYNC ); + +assert_within_epsilon (val, + flags &TEST_BUSY ? + slept :0.0f , + tolerance); + +/* Check for idle after hang. */ +if (flags &FLAG_HANG ) { +gem_quiescent_gpu (i915); +igt_assert (!gem_bo_busy (i915, spin->handle)); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns / +1000 ); + val =read_busy (i915, class) - val; + +assert_within_epsilon (val,0 , tolerance); + } + +igt_spin_free (i915, spin); +put_ahnd (ahnd); +if (flags &FLAG_HANG ) +igt_disallow_hang (i915, hang); +intel_ctx_destroy (i915, ctx); + +gem_quiescent_gpu (i915); + } + +free (ci); + } +} + +static void +__virt_submit_spin (int i915,igt_spin_t *spin, +const intel_ctx_t *ctx, +int offset) +{ +struct drm_i915_gem_execbuffer2 eb = spin->execbuf; + + eb.flags &= ~(0x3f |I915_EXEC_BSD_MASK ); + eb.flags |=I915_EXEC_NO_RELOC ; + eb.batch_start_offset += offset; + eb.rsvd1 = ctx->id; + +gem_execbuf (i915, &eb); +} + +static void +virtual_all (int i915,const intel_ctx_cfg_t *base_cfg,unsigned int flags) +{ +const unsigned int num_engines = base_cfg->num_engines; +intel_ctx_cfg_t cfg = {}; + + cfg.vm =gem_vm_create (i915); + +for (int class =0 ; class <32 ; class++) { +struct i915_engine_class_instance *ci; +const intel_ctx_t *ctx[num_engines]; +igt_hang_t hang[num_engines]; +igt_spin_t *spin =NULL ; +unsigned int count; +unsigned long slept; +uint64_t val; + +if (!gem_class_can_store_dword (i915, class)) +continue ; + + ci =list_engines (base_cfg, class, &count); +if (!ci) +continue ; +igt_assert (count <= num_engines); + +if (count <2 ) +continue ; + +igt_debug ("class %u, %u engines...\n" , class, count); + +for (unsigned int i =0 ; i < count; i++) { +uint64_t ahnd; + +igt_assert (sizeof (*ci) ==sizeof (int )); +igt_permute_array (ci, count, igt_exchange_int); + + ctx[i] =intel_ctx_create (i915, &cfg); +set_load_balancer (i915, ctx[i]->id, ci, count,NULL ); +if (flags &FLAG_HANG ) + hang[i] =igt_allow_hang (i915, ctx[i]->id,0 ); + ahnd =get_reloc_ahnd (i915, ctx[i]->id); + +if (spin) +__virt_submit_spin (i915, spin, ctx[i],64 ); +else + spin =__spin_poll (i915, ahnd, ctx[i],NULL ); + } + +/* Small delay to allow engines to start. */ +usleep (__spin_wait (i915, spin) * count /1e3 ); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns /1000 ); +if (flags &TEST_TRAILING_IDLE ) +end_spin (i915, spin, flags); + val =read_busy (i915, class) - val; + +if (flags &FLAG_HANG ) +igt_force_gpu_reset (i915); +else +end_spin (i915, spin,FLAG_SYNC ); + +assert_within_epsilon (val, slept * count, tolerance); + +/* Check for idle after hang. */ +if (flags &FLAG_HANG ) { +gem_quiescent_gpu (i915); +igt_assert (!gem_bo_busy (i915, spin->handle)); + + val =read_busy (i915, class); + slept =measured_usleep (batch_duration_ns / +1000 ); + val =read_busy (i915, class) - val; + +assert_within_epsilon (val,0 , tolerance); + } + +igt_spin_free (i915, spin); +put_ahnd (spin->opts.ahnd); +for (unsigned int i =0 ; i < count; i++) { +if (flags &FLAG_HANG ) +igt_disallow_hang (i915, hang[i]); +intel_ctx_destroy (i915, ctx[i]); + } + +gem_quiescent_gpu (i915); + +free (ci); + } +} +#define test_each_engine (T , i915, ctx, e) \ igt_subtest_with_dynamic(T) for_each_ctx_engine(i915, ctx, e) \ igt_dynamic_f("%s", e->name)@@ -489,15 +758,24 @@ igt_main test_each_engine("idle", i915, ctx, e)single (i915, ctx, e,0 ); + igt_subtest("virtual-idle") +virtual (i915, &ctx->cfg,0 ); +/** * Test that a single engine reports load correctly. */ test_each_engine("busy", i915, ctx, e)single (i915, ctx, e,TEST_BUSY ); + igt_subtest("virtual-busy") +virtual (i915, &ctx->cfg,TEST_BUSY ); + test_each_engine("busy-idle", i915, ctx, e)single (i915, ctx, e,TEST_BUSY |TEST_TRAILING_IDLE ); + igt_subtest("virtual-busy-idle") +virtual (i915, &ctx->cfg,TEST_BUSY |TEST_TRAILING_IDLE ); + test_each_engine("busy-hang", i915, ctx, e) {igt_hang_t hang =igt_allow_hang (i915, ctx->id,0 );@@ -506,6 +784,9 @@ igt_mainigt_disallow_hang (i915, hang); } + igt_subtest("virtual-busy-hang") +virtual (i915, &ctx->cfg,TEST_BUSY |FLAG_HANG ); +/** * Test that when one engine is loaded other report no * load.
tests/i915/drm_fdinfo.c igt_main · line 827
Quoted 3 lines
tests/i915/drm_fdinfo.c +0
-0@@ -544,6 +825,14 @@ igt_mainall_busy_check_all (i915, ctx, num_engines, classes, num_classes,TEST_BUSY |TEST_TRAILING_IDLE );
Please add description to each new test you add.
Regards,
Kamil
Quoted 14 lines
tests/i915/drm_fdinfo.c +8
-0+ igt_subtest("virtual-busy-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY ); + + igt_subtest("virtual-busy-idle-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY |TEST_TRAILING_IDLE ); + + igt_subtest("virtual-busy-hang-all") +virtual_all (i915, &ctx->cfg,TEST_BUSY |FLAG_HANG );/** * Test for no cross-client contamination. */ Signature · 1 line
2.34.1