* [igt-dev] [PATCH 1/2] xe_vm: Unmap BOs in bind queue independent test @ 2023-07-02 22:14 Matthew Brost 2023-07-02 22:14 ` [igt-dev] [PATCH 2/2] xe_vm: add bind engine conflict section Matthew Brost 2023-07-02 23:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2] xe_vm: Unmap BOs in bind queue independent test Patchwork 0 siblings, 2 replies; 3+ messages in thread From: Matthew Brost @ 2023-07-02 22:14 UTC (permalink / raw) To: igt-dev Exercises the maple tree dep tracker logic. Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- tests/xe/xe_vm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/xe/xe_vm.c b/tests/xe/xe_vm.c index 8eba6643a..dd09a4f91 100644 --- a/tests/xe/xe_vm.c +++ b/tests/xe/xe_vm.c @@ -819,6 +819,12 @@ test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci) NULL)); igt_assert_eq(data[0].data, 0xc0ffee); + syncobj_destroy(fd, sync[0].handle); + sync[0].handle = syncobj_create(fd, 0); + sync[0].flags |= DRM_XE_SYNC_SIGNAL; + xe_vm_unbind_all_async(fd, vm, 0, bo, sync, 1); + igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL)); + syncobj_destroy(fd, sync[0].handle); for (i = 0; i < N_ENGINES; i++) { syncobj_destroy(fd, syncobjs[i]); -- 2.34.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [igt-dev] [PATCH 2/2] xe_vm: add bind engine conflict section 2023-07-02 22:14 [igt-dev] [PATCH 1/2] xe_vm: Unmap BOs in bind queue independent test Matthew Brost @ 2023-07-02 22:14 ` Matthew Brost 2023-07-02 23:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2] xe_vm: Unmap BOs in bind queue independent test Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Matthew Brost @ 2023-07-02 22:14 UTC (permalink / raw) To: igt-dev Verify bind engines can't race and corrupt page tables. Signed-of-by: Matthew Brost <matthew.brost@intel.com> --- tests/xe/xe_vm.c | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/tests/xe/xe_vm.c b/tests/xe/xe_vm.c index dd09a4f91..156d8c5bb 100644 --- a/tests/xe/xe_vm.c +++ b/tests/xe/xe_vm.c @@ -697,10 +697,18 @@ shared_pte_page(int fd, struct drm_xe_engine_class_instance *eci, int n_bo, * Description: Test independent bind engines * Functionality: bind engines * Run type: BAT + * + * SUBTEST: bind-engines-conflict + * Description: Test conflict bind engines + * Functionality: bind engines + * Run type: BAT */ +#define CONFLICT (0x1 << 0) + static void -test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci) +test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci, + unsigned int flags) { uint32_t vm; uint64_t addr = 0x1a0000; @@ -767,7 +775,7 @@ test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci) xe_spin_wait_started(&data[i].spin); /* Do bind to 1st engine blocked on cork */ - addr += bo_size; + addr += (flags & CONFLICT) ? (0x1 << 21) : bo_size; sync[1].flags &= ~DRM_XE_SYNC_SIGNAL; sync[1].handle = syncobjs[e]; xe_vm_bind_async(fd, vm, bind_engines[e], bo, 0, addr, @@ -803,10 +811,20 @@ test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci) xe_exec(fd, &exec); } - /* Verify initial bind, bind + write to 2nd engine done */ - igt_assert(syncobj_wait(fd, &syncobjs[1], 1, INT64_MAX, 0, NULL)); - igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL)); - igt_assert_eq(data[1].data, 0xc0ffee); + if (!(flags & CONFLICT)) { + /* Verify initial bind, bind + write to 2nd engine done */ + igt_assert(syncobj_wait(fd, &syncobjs[1], 1, INT64_MAX, 0, + NULL)); + igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, + NULL)); + igt_assert_eq(data[1].data, 0xc0ffee); + } else { + /* Let jobs runs for a bit */ + usleep(100000); + /* bind + write to 2nd engine waiting */ + igt_assert(!syncobj_wait(fd, &syncobjs[1], 1, 1, 0, NULL)); + igt_assert(!syncobj_wait(fd, &sync[0].handle, 1, 0, 0, NULL)); + } /* Verify bind + write to 1st engine still inflight */ igt_assert(!syncobj_wait(fd, &syncobjs[0], 1, 1, 0, NULL)); @@ -819,6 +837,13 @@ test_bind_engines_independent(int fd, struct drm_xe_engine_class_instance *eci) NULL)); igt_assert_eq(data[0].data, 0xc0ffee); + if (flags & CONFLICT) { + /* Verify bind + write to 2nd engine done */ + igt_assert(syncobj_wait(fd, &syncobjs[1], 1, INT64_MAX, 0, + NULL)); + igt_assert_eq(data[1].data, 0xc0ffee); + } + syncobj_destroy(fd, sync[0].handle); sync[0].handle = syncobj_create(fd, 0); sync[0].flags |= DRM_XE_SYNC_SIGNAL; @@ -2020,7 +2045,11 @@ igt_main igt_subtest("bind-engines-independent") xe_for_each_hw_engine(fd, hwe) - test_bind_engines_independent(fd, hwe); + test_bind_engines_independent(fd, hwe, 0); + + igt_subtest("bind-engines-conflict") + xe_for_each_hw_engine(fd, hwe) + test_bind_engines_independent(fd, hwe, CONFLICT); igt_subtest("bind-array-twice") xe_for_each_hw_engine(fd, hwe) -- 2.34.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2] xe_vm: Unmap BOs in bind queue independent test 2023-07-02 22:14 [igt-dev] [PATCH 1/2] xe_vm: Unmap BOs in bind queue independent test Matthew Brost 2023-07-02 22:14 ` [igt-dev] [PATCH 2/2] xe_vm: add bind engine conflict section Matthew Brost @ 2023-07-02 23:23 ` Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Patchwork @ 2023-07-02 23:23 UTC (permalink / raw) To: Matthew Brost; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 8045 bytes --] == Series Details == Series: series starting with [1/2] xe_vm: Unmap BOs in bind queue independent test URL : https://patchwork.freedesktop.org/series/120120/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13341 -> IGTPW_9319 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9319 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9319, 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_9319/index.html Participating hosts (41 -> 40) ------------------------------ Additional (1): bat-dg1-8 Missing (2): fi-kbl-soraka fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9319: ### IGT changes ### #### Possible regressions #### * igt@i915_suspend@basic-s2idle-without-i915: - bat-adlm-1: [PASS][1] -> [ABORT][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-adlm-1/igt@i915_suspend@basic-s2idle-without-i915.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-adlm-1/igt@i915_suspend@basic-s2idle-without-i915.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@xe_create@create-massive-size}: - {bat-dg1-8}: NOTRUN -> [FAIL][3] +2 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-dg1-8/igt@xe_create@create-massive-size.html * igt@xe_guc_pc@rc6_on_idle: - {bat-dg1-8}: NOTRUN -> [INCOMPLETE][4] +1 similar issue [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-dg1-8/igt@xe_guc_pc@rc6_on_idle.html Known issues ------------ Here are the changes found in IGTPW_9319 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@gt_mocs: - bat-rpls-1: [PASS][5] -> [DMESG-FAIL][6] ([i915#7059]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-rpls-1/igt@i915_selftest@live@gt_mocs.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-rpls-1/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@hangcheck: - fi-skl-guc: [PASS][7] -> [DMESG-FAIL][8] ([i915#8723]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/fi-skl-guc/igt@i915_selftest@live@hangcheck.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/fi-skl-guc/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@requests: - bat-mtlp-6: [PASS][9] -> [DMESG-FAIL][10] ([i915#7269]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-mtlp-6/igt@i915_selftest@live@requests.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-mtlp-6/igt@i915_selftest@live@requests.html * igt@i915_suspend@basic-s3-without-i915: - fi-apl-guc: [PASS][11] -> [DMESG-WARN][12] ([i915#1982] / [i915#8585]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/fi-apl-guc/igt@i915_suspend@basic-s3-without-i915.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/fi-apl-guc/igt@i915_suspend@basic-s3-without-i915.html - bat-rpls-1: NOTRUN -> [ABORT][13] ([i915#6687] / [i915#7978] / [i915#8668]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-rpls-1/igt@i915_suspend@basic-s3-without-i915.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][14] ([i915#1845] / [i915#5354]) +2 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_selftest@live@gt_heartbeat: - fi-apl-guc: [DMESG-FAIL][15] ([i915#5334]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@gt_mocs: - bat-mtlp-8: [DMESG-FAIL][17] ([i915#7059]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@reset: - bat-rpls-1: [ABORT][19] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-rpls-1/igt@i915_selftest@live@reset.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-rpls-1/igt@i915_selftest@live@reset.html #### Warnings #### * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][21] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#7981] / [i915#8347]) -> [ABORT][22] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13341/bat-rpls-2/igt@i915_selftest@live@reset.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/bat-rpls-2/igt@i915_selftest@live@reset.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6121]: https://gitlab.freedesktop.org/drm/intel/issues/6121 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978 [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 [i915#8513]: https://gitlab.freedesktop.org/drm/intel/issues/8513 [i915#8585]: https://gitlab.freedesktop.org/drm/intel/issues/8585 [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668 [i915#8676]: https://gitlab.freedesktop.org/drm/intel/issues/8676 [i915#8698]: https://gitlab.freedesktop.org/drm/intel/issues/8698 [i915#8700]: https://gitlab.freedesktop.org/drm/intel/issues/8700 [i915#8723]: https://gitlab.freedesktop.org/drm/intel/issues/8723 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7365 -> IGTPW_9319 CI-20190529: 20190529 CI_DRM_13341: e72529f161cf81710f4a436e7abe0936630c5ea5 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9319: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/index.html IGT_7365: c5980a82c798f9003dc7b4df07aace01b8afde77 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- +igt@xe_vm@bind-engines-conflict == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9319/index.html [-- Attachment #2: Type: text/html, Size: 8752 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-07-02 23:23 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-02 22:14 [igt-dev] [PATCH 1/2] xe_vm: Unmap BOs in bind queue independent test Matthew Brost 2023-07-02 22:14 ` [igt-dev] [PATCH 2/2] xe_vm: add bind engine conflict section Matthew Brost 2023-07-02 23:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2] xe_vm: Unmap BOs in bind queue independent test Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox