* [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