* [igt-dev] [PATCH RFC i-g-t v1 0/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs
@ 2022-09-21 10:29 Kamil Konieczny
2022-09-21 10:29 ` [igt-dev] [PATCH RFC i-g-t v1 2/2] HAX test only gem_basic subtests Kamil Konieczny
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Kamil Konieczny @ 2022-09-21 10:29 UTC (permalink / raw)
To: igt-dev
Run gem_basic on multi-GPUs hw configuration with the help of
filtered devices. See description to patch 1/2.
Use HAX to test only gem_basic.
Kamil Konieczny (2):
tests/i915/gem_basic: convert to multithreaded multi-GPUs
HAX test only gem_basic subtests
tests/i915/gem_basic.c | 71 ++++++++++-
tests/intel-ci/fast-feedback.testlist | 170 +-------------------------
2 files changed, 66 insertions(+), 175 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH RFC i-g-t v1 2/2] HAX test only gem_basic subtests
2022-09-21 10:29 [igt-dev] [PATCH RFC i-g-t v1 0/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs Kamil Konieczny
@ 2022-09-21 10:29 ` Kamil Konieczny
2022-09-21 11:46 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/i915/gem_basic: convert to multithreaded multi-GPUs Patchwork
[not found] ` <20220921102940.15121-2-kamil.konieczny@linux.intel.com>
2 siblings, 0 replies; 5+ messages in thread
From: Kamil Konieczny @ 2022-09-21 10:29 UTC (permalink / raw)
To: igt-dev
Test only gem_basic subtests.
Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
tests/intel-ci/fast-feedback.testlist | 170 +-------------------------
1 file changed, 1 insertion(+), 169 deletions(-)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index bd5538a0..791724ad 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -2,176 +2,8 @@
igt@i915_module_load@load
# Keep alphabetically sorted by default
-igt@core_auth@basic-auth
-igt@debugfs_test@read_all_entries
-igt@fbdev@eof
-igt@fbdev@info
-igt@fbdev@nullptr
-igt@fbdev@read
-igt@fbdev@write
igt@gem_basic@bad-close
igt@gem_basic@create-close
igt@gem_basic@create-fd-close
-igt@gem_busy@busy@all
-igt@gem_close_race@basic-process
-igt@gem_close_race@basic-threads
-igt@gem_ctx_create@basic
-igt@gem_ctx_create@basic-files
-igt@gem_ctx_exec@basic
-igt@gem_exec_basic@basic
-igt@gem_exec_create@basic
-igt@gem_exec_fence@basic-busy
-igt@gem_exec_fence@basic-wait
-igt@gem_exec_fence@basic-await
-igt@gem_exec_fence@nb-await
-igt@gem_exec_gttfill@basic
-igt@gem_exec_parallel@engines
-igt@gem_exec_store@basic
-igt@gem_flink_basic@bad-flink
-igt@gem_flink_basic@bad-open
-igt@gem_flink_basic@basic
-igt@gem_flink_basic@double-flink
-igt@gem_flink_basic@flink-lifetime
-igt@gem_huc_copy@huc-copy
-igt@gem_linear_blits@basic
-igt@gem_mmap@basic
-igt@gem_mmap_gtt@basic
-igt@gem_render_linear_blits@basic
-igt@gem_render_tiled_blits@basic
-igt@gem_ringfill@basic-all
-igt@gem_softpin@allocator-basic
-igt@gem_softpin@allocator-basic-reserve
-igt@gem_softpin@safe-alignment
-igt@gem_sync@basic-all
-igt@gem_sync@basic-each
-igt@gem_tiled_blits@basic
-igt@gem_tiled_fence_blits@basic
-igt@gem_tiled_pread_basic
-igt@gem_wait@busy@all
-igt@gem_wait@wait@all
-igt@i915_getparams_basic@basic-eu-total
-igt@i915_getparams_basic@basic-subslice-total
-igt@i915_hangman@error-state-basic
-igt@i915_pciid
-igt@kms_addfb_basic@addfb25-bad-modifier
-igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-igt@kms_addfb_basic@addfb25-modifier-no-flag
-igt@kms_addfb_basic@addfb25-x-tiled-legacy
-igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy
-igt@kms_addfb_basic@addfb25-yf-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-small-legacy
-igt@kms_addfb_basic@bad-pitch-0
-igt@kms_addfb_basic@bad-pitch-1024
-igt@kms_addfb_basic@bad-pitch-128
-igt@kms_addfb_basic@bad-pitch-256
-igt@kms_addfb_basic@bad-pitch-32
-igt@kms_addfb_basic@bad-pitch-63
-igt@kms_addfb_basic@bad-pitch-65536
-igt@kms_addfb_basic@bad-pitch-999
-igt@kms_addfb_basic@basic
-igt@kms_addfb_basic@basic-x-tiled-legacy
-igt@kms_addfb_basic@basic-y-tiled-legacy
-igt@kms_addfb_basic@bo-too-small
-igt@kms_addfb_basic@bo-too-small-due-to-tiling
-igt@kms_addfb_basic@clobberred-modifier
-igt@kms_addfb_basic@framebuffer-vs-set-tiling
-igt@kms_addfb_basic@invalid-get-prop
-igt@kms_addfb_basic@invalid-get-prop-any
-igt@kms_addfb_basic@invalid-set-prop
-igt@kms_addfb_basic@invalid-set-prop-any
-igt@kms_addfb_basic@no-handle
-igt@kms_addfb_basic@size-max
-igt@kms_addfb_basic@small-bo
-igt@kms_addfb_basic@tile-pitch-mismatch
-igt@kms_addfb_basic@too-high
-igt@kms_addfb_basic@too-wide
-igt@kms_addfb_basic@unused-handle
-igt@kms_addfb_basic@unused-modifier
-igt@kms_addfb_basic@unused-offsets
-igt@kms_addfb_basic@unused-pitches
-igt@kms_busy@basic
-igt@kms_chamelium@dp-hpd-fast
-igt@kms_chamelium@dp-edid-read
-igt@kms_chamelium@dp-crc-fast
-igt@kms_chamelium@hdmi-hpd-fast
-igt@kms_chamelium@hdmi-edid-read
-igt@kms_chamelium@hdmi-crc-fast
-igt@kms_chamelium@vga-hpd-fast
-igt@kms_chamelium@vga-edid-read
-igt@kms_prop_blob@basic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor
-igt@kms_cursor_legacy@basic-flip-after-cursor
-igt@kms_cursor_legacy@basic-flip-before-cursor
-igt@kms_flip@basic-flip-vs-dpms
-igt@kms_flip@basic-flip-vs-modeset
-igt@kms_flip@basic-flip-vs-wf_vblank
-igt@kms_flip@basic-plain-flip
-igt@kms_force_connector_basic@force-connector-state
-igt@kms_force_connector_basic@force-edid
-igt@kms_force_connector_basic@force-load-detect
-igt@kms_force_connector_basic@prune-stale-modes
-igt@kms_frontbuffer_tracking@basic
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck
-igt@kms_pipe_crc_basic@hang-read-crc
-igt@kms_pipe_crc_basic@nonblocking-crc
-igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence
-igt@kms_pipe_crc_basic@read-crc
-igt@kms_pipe_crc_basic@read-crc-frame-sequence
-igt@kms_psr@primary_page_flip
-igt@kms_psr@cursor_plane_move
-igt@kms_psr@sprite_plane_onoff
-igt@kms_psr@primary_mmap_gtt
-igt@kms_setmode@basic-clone-single-crtc
-igt@i915_pm_backlight@basic-brightness
-igt@i915_pm_rpm@basic-pci-d3-state
-igt@i915_pm_rpm@basic-rte
-igt@i915_pm_rps@basic-api
-igt@prime_self_import@basic-llseek-bad
-igt@prime_self_import@basic-llseek-size
-igt@prime_self_import@basic-with_fd_dup
-igt@prime_self_import@basic-with_one_bo
-igt@prime_self_import@basic-with_one_bo_two_files
-igt@prime_self_import@basic-with_two_bos
-igt@prime_vgem@basic-fence-flip
-igt@prime_vgem@basic-fence-mmap
-igt@prime_vgem@basic-fence-read
-igt@prime_vgem@basic-gtt
-igt@prime_vgem@basic-read
-igt@prime_vgem@basic-write
-igt@prime_vgem@basic-userptr
-igt@vgem_basic@setversion
-igt@vgem_basic@create
-igt@vgem_basic@debugfs
-igt@vgem_basic@dmabuf-export
-igt@vgem_basic@dmabuf-fence
-igt@vgem_basic@dmabuf-fence-before
-igt@vgem_basic@dmabuf-mmap
-igt@vgem_basic@mmap
-igt@vgem_basic@second-client
-igt@vgem_basic@sysfs
-# All tests that do module unloading and reloading are executed last.
-# They will sometimes reveal issues of earlier tests leaving the
-# driver in a broken state that is not otherwise noticed in that test.
-
-igt@core_hotunplug@unbind-rebind
-igt@vgem_basic@unload
-igt@i915_module_load@reload
-igt@gem_lmem_swapping@basic
-igt@gem_lmem_swapping@parallel-random-engines
-igt@gem_lmem_swapping@random-engines
-igt@gem_lmem_swapping@verify-random
-igt@i915_pm_rpm@module-reload
-
-# Kernel selftests
-igt@i915_selftest@live
-igt@dmabuf@all
-
-# System wide suspend tests
-igt@i915_suspend@basic-s2idle-without-i915
-igt@i915_suspend@basic-s3-without-i915
-igt@gem_exec_suspend@basic-s0
-igt@gem_exec_suspend@basic-s3
-igt@kms_chamelium@common-hpd-after-suspend
-igt@kms_pipe_crc_basic@suspend-read-crc
+igt@meta_test@fail-result
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for tests/i915/gem_basic: convert to multithreaded multi-GPUs
2022-09-21 10:29 [igt-dev] [PATCH RFC i-g-t v1 0/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs Kamil Konieczny
2022-09-21 10:29 ` [igt-dev] [PATCH RFC i-g-t v1 2/2] HAX test only gem_basic subtests Kamil Konieczny
@ 2022-09-21 11:46 ` Patchwork
[not found] ` <20220921102940.15121-2-kamil.konieczny@linux.intel.com>
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2022-09-21 11:46 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 9446 bytes --]
== Series Details ==
Series: tests/i915/gem_basic: convert to multithreaded multi-GPUs
URL : https://patchwork.freedesktop.org/series/108823/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_12164 -> IGTPW_7811
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_7811 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_7811, 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_7811/index.html
Participating hosts (34 -> 45)
------------------------------
Additional (12): fi-rkl-11600 fi-tgl-dsi bat-dg1-5 bat-dg2-8 bat-adlm-1 fi-icl-u2 bat-dg2-9 bat-adlp-6 bat-adln-1 bat-jsl-3 bat-rpls-1 bat-dg2-11
Missing (1): fi-bdw-samus
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_7811:
### IGT changes ###
#### Possible regressions ####
* igt@meta_test@fail-result (NEW):
- fi-ilk-650: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-ilk-650/igt@meta_test@fail-result.html
- fi-tgl-u2: NOTRUN -> [FAIL][2]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-tgl-u2/igt@meta_test@fail-result.html
- fi-bsw-nick: NOTRUN -> [FAIL][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-bsw-nick/igt@meta_test@fail-result.html
- fi-bxt-dsi: NOTRUN -> [FAIL][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-bxt-dsi/igt@meta_test@fail-result.html
- {fi-jsl-1}: NOTRUN -> [FAIL][5]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-jsl-1/igt@meta_test@fail-result.html
- fi-rkl-11600: NOTRUN -> [FAIL][6]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-rkl-11600/igt@meta_test@fail-result.html
- fi-hsw-g3258: NOTRUN -> [FAIL][7]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-hsw-g3258/igt@meta_test@fail-result.html
- fi-blb-e6850: NOTRUN -> [FAIL][8]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-blb-e6850/igt@meta_test@fail-result.html
- {bat-rpls-1}: NOTRUN -> [FAIL][9]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-rpls-1/igt@meta_test@fail-result.html
- {bat-adlp-6}: NOTRUN -> [FAIL][10]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-adlp-6/igt@meta_test@fail-result.html
- fi-skl-6600u: NOTRUN -> [FAIL][11]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-skl-6600u/igt@meta_test@fail-result.html
- fi-glk-dsi: NOTRUN -> [FAIL][12]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-glk-dsi/igt@meta_test@fail-result.html
- fi-bdw-gvtdvm: NOTRUN -> [FAIL][13]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-bdw-gvtdvm/igt@meta_test@fail-result.html
- {fi-ehl-2}: NOTRUN -> [FAIL][14]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-ehl-2/igt@meta_test@fail-result.html
- fi-icl-u2: NOTRUN -> [FAIL][15]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-icl-u2/igt@meta_test@fail-result.html
- fi-bsw-kefka: NOTRUN -> [FAIL][16]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-bsw-kefka/igt@meta_test@fail-result.html
- fi-adl-ddr5: NOTRUN -> [FAIL][17]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-adl-ddr5/igt@meta_test@fail-result.html
- bat-dg1-5: NOTRUN -> [FAIL][18]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-dg1-5/igt@meta_test@fail-result.html
- fi-cfl-guc: NOTRUN -> [FAIL][19]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-cfl-guc/igt@meta_test@fail-result.html
- {bat-jsl-3}: NOTRUN -> [FAIL][20]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-jsl-3/igt@meta_test@fail-result.html
- fi-pnv-d510: NOTRUN -> [FAIL][21]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-pnv-d510/igt@meta_test@fail-result.html
- fi-bdw-5557u: NOTRUN -> [FAIL][22]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-bdw-5557u/igt@meta_test@fail-result.html
- {bat-dg2-9}: NOTRUN -> [FAIL][23]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-dg2-9/igt@meta_test@fail-result.html
- fi-snb-2520m: NOTRUN -> [FAIL][24]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-snb-2520m/igt@meta_test@fail-result.html
- fi-glk-j4005: NOTRUN -> [FAIL][25]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-glk-j4005/igt@meta_test@fail-result.html
- fi-hsw-4770: NOTRUN -> [FAIL][26]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-hsw-4770/igt@meta_test@fail-result.html
- fi-skl-6700k2: NOTRUN -> [FAIL][27]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-skl-6700k2/igt@meta_test@fail-result.html
- fi-cfl-8109u: NOTRUN -> [FAIL][28]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-cfl-8109u/igt@meta_test@fail-result.html
- {bat-adln-1}: NOTRUN -> [FAIL][29]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-adln-1/igt@meta_test@fail-result.html
- fi-rkl-guc: NOTRUN -> [FAIL][30]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-rkl-guc/igt@meta_test@fail-result.html
- {bat-dg2-11}: NOTRUN -> [FAIL][31]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-dg2-11/igt@meta_test@fail-result.html
- fi-ivb-3770: NOTRUN -> [FAIL][32]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-ivb-3770/igt@meta_test@fail-result.html
- {bat-dg2-8}: NOTRUN -> [FAIL][33]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-dg2-8/igt@meta_test@fail-result.html
- fi-kbl-7567u: NOTRUN -> [FAIL][34]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-kbl-7567u/igt@meta_test@fail-result.html
- fi-cfl-8700k: NOTRUN -> [FAIL][35]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-cfl-8700k/igt@meta_test@fail-result.html
- {fi-tgl-dsi}: NOTRUN -> [FAIL][36]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-tgl-dsi/igt@meta_test@fail-result.html
- {fi-tgl-mst}: NOTRUN -> [FAIL][37]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-tgl-mst/igt@meta_test@fail-result.html
- fi-snb-2600: NOTRUN -> [FAIL][38]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-snb-2600/igt@meta_test@fail-result.html
- {bat-adlm-1}: NOTRUN -> [FAIL][39]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/bat-adlm-1/igt@meta_test@fail-result.html
New tests
---------
New tests have been introduced between CI_DRM_12164 and IGTPW_7811:
### New IGT tests (1) ###
* igt@meta_test@fail-result:
- Statuses : 40 fail(s)
- Exec time: [0.00, 0.09] s
Known issues
------------
Here are the changes found in IGTPW_7811 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@meta_test@fail-result (NEW):
- fi-elk-e7500: NOTRUN -> [FAIL][40] ([i915#6836])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-elk-e7500/igt@meta_test@fail-result.html
#### Warnings ####
* igt@runner@aborted:
- fi-kbl-8809g: [FAIL][41] ([i915#6219] / [i915#6884]) -> [FAIL][42] ([i915#6641] / [i915#6884])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12164/fi-kbl-8809g/igt@runner@aborted.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-kbl-8809g/igt@runner@aborted.html
- fi-kbl-soraka: [FAIL][43] ([i915#6219] / [i915#6884]) -> [FAIL][44] ([i915#6884])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12164/fi-kbl-soraka/igt@runner@aborted.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-kbl-soraka/igt@runner@aborted.html
- fi-kbl-guc: [FAIL][45] ([i915#6219] / [i915#6884]) -> [FAIL][46] ([i915#6884])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12164/fi-kbl-guc/igt@runner@aborted.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/fi-kbl-guc/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#6219]: https://gitlab.freedesktop.org/drm/intel/issues/6219
[i915#6641]: https://gitlab.freedesktop.org/drm/intel/issues/6641
[i915#6836]: https://gitlab.freedesktop.org/drm/intel/issues/6836
[i915#6884]: https://gitlab.freedesktop.org/drm/intel/issues/6884
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6659 -> IGTPW_7811
CI-20190529: 20190529
CI_DRM_12164: a1f63e144e545f0ce8f41f41005f2dfc552eb836 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7811: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/index.html
IGT_6659: 1becf700a737a7a98555a0cfbe8566355377afb2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7811/index.html
[-- Attachment #2: Type: text/html, Size: 11196 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH RFC i-g-t v1 1/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs
[not found] ` <20220921102940.15121-2-kamil.konieczny@linux.intel.com>
@ 2022-09-21 13:58 ` Mauro Carvalho Chehab
2022-09-27 11:41 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2022-09-21 13:58 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: Petri Latvala, igt-dev, Andi Shyti, Chris Wilson
Hi Kamil,
On Wed, 21 Sep 2022 12:29:39 +0200
Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
> This will convert basic tests to run on multi-GPU hardware
> configuration. It will take effect when --device option will be
> used and at least two devices will be found with a filter. When
> there are no filtered ones or there is only one, tests will
> fall through to old run.
>
> One method for use will be to extend filtered devices with '*'
> or regex:
>
> sudo ./gem_basic --device=pci:vendor=intel,device=discrete,card=*
>
> Pros: no change in tests names, no new tests added. Use restricted
> to runs with suitable hw config.
>
> Cons: it can be hard to replicate failed tests or it can break
> igt-framework in compliated use cases. It is also not clear how
> to change this solution into clean macro for reuse.
>
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Anna Karas <anna.karas@intel.com>
> Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
> Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> ---
> tests/i915/gem_basic.c | 71 ++++++++++++++++++++++++++++++++++++++----
> 1 file changed, 65 insertions(+), 6 deletions(-)
>
> diff --git a/tests/i915/gem_basic.c b/tests/i915/gem_basic.c
> index 17ae190c..66413e60 100644
> --- a/tests/i915/gem_basic.c
> +++ b/tests/i915/gem_basic.c
> @@ -38,6 +38,7 @@
>
> #include "drm.h"
> #include "i915/gem_create.h"
> +#include "igt_device_scan.h"
>
> IGT_TEST_DESCRIPTION("Tests basic gem_create and gem_close IOCTLs");
>
> @@ -48,6 +49,7 @@ test_bad_close(int fd)
> int ret;
>
> igt_info("Testing error return on bad close ioctl.\n");
> + igt_info("%s: pid: %d, tid: %lu, CPU: %d\n", __func__, getpid(), pthread_self(), sched_getcpu());
Hmm... perhaps we should add pid at igt_info(), for multi-GPU scenarios, e. g.
when IGT was asked to run with more than one GPUs.
Not sure if it makes sense to display tid/CPU here.
>
> close_bo.handle = 0x10101010;
> ret = ioctl(fd, DRM_IOCTL_GEM_CLOSE, &close_bo);
> @@ -61,6 +63,7 @@ test_create_close(int fd)
> uint32_t handle;
>
> igt_info("Testing creating and closing an object.\n");
> + igt_info("%s: pid: %d, tid: %lu, CPU: %d\n", __func__, getpid(), pthread_self(), sched_getcpu());
>
> handle = gem_create(fd, 16*1024);
>
> @@ -71,6 +74,7 @@ static void
> test_create_fd_close(int fd)
> {
> igt_info("Testing closing with an object allocated.\n");
> + igt_info("%s: pid: %d, tid: %lu, CPU: %d\n", __func__, getpid(), pthread_self(), sched_getcpu());
>
> gem_create(fd, 16*1024);
> /* leak it */
> @@ -78,6 +82,49 @@ test_create_fd_close(int fd)
> close(fd);
> }
>
> +struct multi_gpu_data {
> + int in_fd;
> + void (*fn)(int fd);
> +};
> +
> +static void *run_on_one_gpu(void *pdata)
> +{
> + struct multi_gpu_data *pgpu = pdata;
> +
> + (pgpu->fn)(pgpu->in_fd);
> +
> + return NULL;
> +}
> +
> +static void run_on_gpus(void (*fn)(int))
> +{
> + struct multi_gpu_data *in_arr;
> + pthread_t *pth;
> + int size = igt_device_filter_count();
> +
> + in_arr = calloc(size, sizeof(struct multi_gpu_data));
> + igt_assert(!in_arr);
> +
> + pth = calloc(size, sizeof(pthread_t));
> + igt_assert(!pth);
> +
> + igt_info("pid: %d, running on %d GPUs\n", getpid(), size);
> +
> + for (int i = 0; i < size; ++i) {
> + in_arr[i].in_fd = __drm_open_driver_another(i, DRIVER_ANY);
> + in_arr[i].fn = fn;
> + }
> +
> + for (int i = 0; i < size; ++i)
> + pthread_create(pth + i, 0, run_on_one_gpu, in_arr + i);
> +
> + for (int i = 0; i < size; ++i)
> + pthread_join(pth[i], NULL);
> +
> + free(in_arr);
> + free(pth);
> +}
> +
Interesting approach, but having to add the same function on all tests that
will run with multi-GPU seems too much work. We need to add the logic at
the library, if possible using some macro/inline based solution, as Anna
proposed.
> int fd;
>
> igt_main
> @@ -86,14 +133,26 @@ igt_main
> fd = drm_open_driver(DRIVER_INTEL);
>
> igt_describe("Verify that gem_close fails with bad params.");
> - igt_subtest("bad-close")
> - test_bad_close(fd);
> + igt_subtest("bad-close") {
> + if (igt_device_filter_count() < 2)
> + test_bad_close(fd);
> + else
> + run_on_gpus(test_bad_close);
> + }
>
> igt_describe("Verify basic functionality of gem_create and gem_close.");
> - igt_subtest("create-close")
> - test_create_close(fd);
> + igt_subtest("create-close") {
> + if (igt_device_filter_count() < 2)
> + test_create_close(fd);
> + else
> + run_on_gpus(test_create_close);
> + }
>
> igt_describe("Verify that closing drm driver is possible with opened gem object.");
> - igt_subtest("create-fd-close")
> - test_create_fd_close(fd);
> + igt_subtest("create-fd-close") {
> + if (igt_device_filter_count() < 2)
> + test_create_fd_close(fd);
> + else
> + run_on_gpus(test_create_fd_close);
> + }
> }
Regards,
Mauro
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH RFC i-g-t v1 1/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs
2022-09-21 13:58 ` [igt-dev] [PATCH RFC i-g-t v1 1/2] " Mauro Carvalho Chehab
@ 2022-09-27 11:41 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2022-09-27 11:41 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: Petri Latvala, igt-dev, Andi Shyti, Chris Wilson
On Wed, 21 Sep 2022 15:58:01 +0200
Mauro Carvalho Chehab <mauro.chehab@linux.intel.com> wrote:
> Hi Kamil,
> > @@ -48,6 +49,7 @@ test_bad_close(int fd)
> > int ret;
> >
> > igt_info("Testing error return on bad close ioctl.\n");
> > + igt_info("%s: pid: %d, tid: %lu, CPU: %d\n", __func__, getpid(), pthread_self(), sched_getcpu());
>
> Hmm... perhaps we should add pid at igt_info(), for multi-GPU scenarios, e. g.
> when IGT was asked to run with more than one GPUs.
>
> Not sure if it makes sense to display tid/CPU here.
Btw, what I would do, instead, would be something like using the encosed
patch to store GPU data, filling "gpu_string" at the macro that would handle
multiple GPUs.
A poor usage of it would be to use something similar to the enclosed patch[1]
calling set_gpu_string inside the pthread.
<code>
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 16e80bdfcfb1..d16cd4f78edd 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -288,6 +288,8 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset,
sprintf(name, "%s%u", base, i + offset);
+ set_gpu_string(name);
+
if (_is_already_opened(name, as_idx))
continue;
</code>
With that, the subtest return code would print:
$ sudo ./build/tests/gem_basic --run bad-close
IGT-Version: 1.26-g336bb75c0d5b (x86_64) (Linux: 5.19.0-drm-50bc22230125+ x86_64)
Starting subtest: bad-close
Testing error return on bad close ioctl.
/dev/dri/card0: Subtest bad-close: SUCCESS (0.000s)
Yet, instead of placing card0 or PID, I would try to place something that
better describe the GPU - e. g. GPU model and/or something similar to
what "lspci -m" outputs. So, for this GPU, for instance:
$ lspci -s "00:02.0"
00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
I would set gpu_string to something like: "00:02.0 TGL(8086:9a49)".
Regards,
Mauro
---
From 6bd937a3e0758ed284597748d0d3b65861f365e4 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Date: Tue, 27 Sep 2022 13:03:10 +0200
Subject: [PATCH] o lib/igt_core: add a logic to store a GPU string
This is helpful on tests that run with multiple GPUs.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
diff --git a/lib/igt_core.c b/lib/igt_core.c
index dc6486c841f0..1807a7b5a1da 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1453,6 +1453,16 @@ bool __igt_enter_dynamic_container(void)
return true;
}
+static __thread char *gpu_string = NULL;
+
+void set_gpu_string(const char *string)
+{
+ if (gpu_string)
+ free(gpu_string);
+ gpu_string = strdup(string);
+ igt_assert(gpu_string);
+}
+
__noreturn static void exit_subtest(const char *result)
{
struct timespec now;
@@ -1463,6 +1473,9 @@ __noreturn static void exit_subtest(const char *result)
igt_gettime(&now);
+ if (gpu_string)
+ igt_info("%s: ", gpu_string);
+
igt_info("%s%s %s: %s (%.3fs)%s\n",
(!__igt_plain_output) ? "\x1b[1m" : "",
subtest_text, *subtest_name, result,
diff --git a/lib/igt_core.h b/lib/igt_core.h
index f21723dec4bc..3a481fe6f67f 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -1492,4 +1492,10 @@ static inline void igt_pci_system_cleanup(void)
{
}
+/**
+ * set_gpu_string():
+ * Sets a string to describe the GPU being tested
+ */
+void set_gpu_string(const char *string);
+
#endif /* IGT_CORE_H */
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-09-27 11:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21 10:29 [igt-dev] [PATCH RFC i-g-t v1 0/2] tests/i915/gem_basic: convert to multithreaded multi-GPUs Kamil Konieczny
2022-09-21 10:29 ` [igt-dev] [PATCH RFC i-g-t v1 2/2] HAX test only gem_basic subtests Kamil Konieczny
2022-09-21 11:46 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/i915/gem_basic: convert to multithreaded multi-GPUs Patchwork
[not found] ` <20220921102940.15121-2-kamil.konieczny@linux.intel.com>
2022-09-21 13:58 ` [igt-dev] [PATCH RFC i-g-t v1 1/2] " Mauro Carvalho Chehab
2022-09-27 11:41 ` Mauro Carvalho Chehab
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.