All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
@ 2021-12-06 16:42 Arjun Melkaveri
  2021-12-06 17:31 ` Chris Wilson
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Arjun Melkaveri @ 2021-12-06 16:42 UTC (permalink / raw)
  To: arjun.melkaveri, chris.p.wilson, igt-dev

To make spinner to be on same context for following execbuf,
spin out_fence is passed to execbuf.rsvd2.

Used IGT_SPIN_FENCE_OUT flag in spinner.

Cc: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
 tests/i915/gem_ctx_engines.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 003dd171..c746f268 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -298,7 +298,7 @@ static void execute_one(int i915)
 			spin = igt_spin_new(i915,
 					    .ahnd = ahnd,
 					    .ctx = ctx,
-					    .flags = (IGT_SPIN_NO_PREEMPTION |
+					    .flags = (IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION |
 						      IGT_SPIN_POLL_RUN));
 
 			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
@@ -320,6 +320,7 @@ static void execute_one(int i915)
 				int expected = j == i ? 0 : -EINVAL;
 
 				execbuf.rsvd1 = ctx->id;
+				execbuf.rsvd2 = spin->out_fence;
 				execbuf.flags = j;
 				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
 					     "Failed to report the %s engine for slot %d (valid at %d)\n",
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-06 16:42 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
@ 2021-12-06 17:31 ` Chris Wilson
  2021-12-08 11:47   ` Melkaveri, Arjun
  2021-12-09  6:23   ` Zbigniew Kempczyński
  2021-12-06 17:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 14+ messages in thread
From: Chris Wilson @ 2021-12-06 17:31 UTC (permalink / raw)
  To: arjun.melkaveri, igt-dev

Quoting Arjun Melkaveri (2021-12-06 16:42:51)
> To make spinner to be on same context for following execbuf,
> spin out_fence is passed to execbuf.rsvd2.
> 
> Used IGT_SPIN_FENCE_OUT flag in spinner.
> 
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> ---
>  tests/i915/gem_ctx_engines.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index 003dd171..c746f268 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -298,7 +298,7 @@ static void execute_one(int i915)
>                         spin = igt_spin_new(i915,
>                                             .ahnd = ahnd,
>                                             .ctx = ctx,
> -                                           .flags = (IGT_SPIN_NO_PREEMPTION |
> +                                           .flags = (IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION |

Introducing FENCE_OUT means we can stop using the no-preemption, as no
subsequent request is allowed to execute before the cork.

But we do have to add I915_EXEC_FENCE_IN to the execbuf.flags so that it
is executed after the spinner.

>                                                       IGT_SPIN_POLL_RUN));
>  
>                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> @@ -320,6 +320,7 @@ static void execute_one(int i915)
>                                 int expected = j == i ? 0 : -EINVAL;
>  
>                                 execbuf.rsvd1 = ctx->id;
> +                               execbuf.rsvd2 = spin->out_fence;

It's also complicated by that we re-execute the spinner for each engine,
each time it will have a new out fence not recorded in spin->out_fence,
but in spin->execbuf.rsvd2.

6a4199ef96 HEAD@{1222}: am: i915/gem_ctx_engines: Replace NO_PREEMPT spinners with explicit fencing
diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 2804cae0fe..13555bc525 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -331,6 +331,7 @@ static void execute_one(int i915)
                .buffers_ptr = to_user_pointer(&obj),
                .buffer_count = 1,
                .rsvd1 = param.ctx_id,
+               .flags = I915_EXEC_FENCE_IN,
        };
        const uint32_t bbe = MI_BATCH_BUFFER_END;
        const struct intel_execution_engine2 *e;
@@ -338,7 +339,7 @@ static void execute_one(int i915)

        /* Prewarm the spinner */
        spin = igt_spin_new(i915, .ctx_id = param.ctx_id,
-                           .flags = (IGT_SPIN_NO_PREEMPTION |
+                           .flags = (IGT_SPIN_FENCE_OUT |
                                      IGT_SPIN_POLL_RUN));

        gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe));
@@ -369,6 +370,7 @@ static void execute_one(int i915)
                        gem_sync(i915, spin->handle);
                        igt_spin_reset(spin);
                        gem_execbuf(i915, &spin->execbuf);
+                       execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;

                        do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
                        igt_assert_eq(busy.busy, 0);
@@ -382,7 +384,6 @@ static void execute_one(int i915)
                        param.size = sizeof(uint64_t) + (i + 1) * sizeof(uint32_t);
                        gem_context_set_param(i915, &param);

-                       igt_spin_busywait_until_started(spin);
                        for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
                                int expected = j == i ? 0 : -EINVAL;

@@ -397,6 +398,7 @@ static void execute_one(int i915)
                                      i != -1 ? 1 << e->class : 0);

                        igt_spin_end(spin);
+                       close(spin->execbuf.rsvd2 >> 32);

                        gem_sync(i915, obj.handle);
                        do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);

The bigger challenge is removing the NO_PREEMPTION from independent-all.
-Chris

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-06 16:42 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
  2021-12-06 17:31 ` Chris Wilson
@ 2021-12-06 17:44 ` Patchwork
  2021-12-06 19:10 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2021-12-07 10:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest (rev2) Patchwork
  3 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-12-06 17:44 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4157 bytes --]

== Series Details ==

Series: tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
URL   : https://patchwork.freedesktop.org/series/97623/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10965 -> IGTPW_6470
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/index.html

Participating hosts (43 -> 31)
------------------------------

  Missing    (12): fi-ilk-m540 bat-dg1-6 bat-dg1-5 fi-hsw-4200u fi-bsw-cyan bat-adlp-6 bat-adlp-4 fi-ctg-p8600 fi-kbl-x1275 fi-bdw-samus bat-jsl-2 bat-jsl-1 

Known issues
------------

  Here are the changes found in IGTPW_6470 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@query-info:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][1] ([fdo#109271]) +35 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-bsw-kefka/igt@amdgpu/amd_basic@query-info.html

  * igt@amdgpu/amd_basic@semaphore:
    - fi-bsw-nick:        NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-bsw-nick/igt@amdgpu/amd_basic@semaphore.html

  * igt@i915_selftest@live@gt_engines:
    - fi-rkl-guc:         [PASS][3] -> [INCOMPLETE][4] ([i915#4432])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][5] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-bsw-kefka/igt@kms_chamelium@hdmi-edid-read.html

  * igt@runner@aborted:
    - fi-rkl-guc:         NOTRUN -> [FAIL][6] ([i915#3928] / [i915#4312])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-rkl-guc/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0:
    - fi-bsw-kefka:       [INCOMPLETE][7] ([i915#2539]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/fi-bsw-kefka/igt@gem_exec_suspend@basic-s0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-bsw-kefka/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-tgl-1115g4:      [FAIL][9] ([i915#1888]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s3.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_selftest@live@late_gt_pm:
    - fi-bsw-nick:        [DMESG-FAIL][11] ([i915#2927] / [i915#3428]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/fi-bsw-nick/igt@i915_selftest@live@late_gt_pm.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/fi-bsw-nick/igt@i915_selftest@live@late_gt_pm.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#2539]: https://gitlab.freedesktop.org/drm/intel/issues/2539
  [i915#2927]: https://gitlab.freedesktop.org/drm/intel/issues/2927
  [i915#3428]: https://gitlab.freedesktop.org/drm/intel/issues/3428
  [i915#3928]: https://gitlab.freedesktop.org/drm/intel/issues/3928
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4432]: https://gitlab.freedesktop.org/drm/intel/issues/4432


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6300 -> IGTPW_6470

  CI-20190529: 20190529
  CI_DRM_10965: e9dedc5d0907d96371774cacca10160a167c5cd2 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_6470: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/index.html
  IGT_6300: f69bd65fa9f72b7d5e5a5a22981f16d034334761 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/index.html

[-- Attachment #2: Type: text/html, Size: 5073 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-06 16:42 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
  2021-12-06 17:31 ` Chris Wilson
  2021-12-06 17:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2021-12-06 19:10 ` Patchwork
  2021-12-07 10:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest (rev2) Patchwork
  3 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-12-06 19:10 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 30285 bytes --]

== Series Details ==

Series: tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
URL   : https://patchwork.freedesktop.org/series/97623/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10965_full -> IGTPW_6470_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/index.html

Participating hosts (10 -> 7)
------------------------------

  Missing    (3): pig-skl-6260u pig-glk-j5005 shard-rkl 

Known issues
------------

  Here are the changes found in IGTPW_6470_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@display-2x:
    - shard-tglb:         NOTRUN -> [SKIP][1] ([i915#1839])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@feature_discovery@display-2x.html
    - shard-iclb:         NOTRUN -> [SKIP][2] ([i915#1839])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb6/igt@feature_discovery@display-2x.html

  * igt@gem_ctx_persistence@smoketest:
    - shard-snb:          NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099]) +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-snb7/igt@gem_ctx_persistence@smoketest.html

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-iclb:         NOTRUN -> [SKIP][4] ([i915#4525])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb2/igt@gem_exec_balancer@parallel-ordering.html
    - shard-tglb:         NOTRUN -> [SKIP][5] ([i915#4525])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [PASS][6] -> [FAIL][7] ([i915#2842]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-iclb2/igt@gem_exec_fair@basic-none-share@rcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][8] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][9] ([i915#2842]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb1/igt@gem_exec_fair@basic-none@vcs1.html
    - shard-kbl:          [PASS][10] -> [FAIL][11] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-kbl6/igt@gem_exec_fair@basic-none@vcs1.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl1/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-tglb:         [PASS][12] -> [FAIL][13] ([i915#2842])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-tglb1/igt@gem_exec_fair@basic-pace@vecs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb8/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_schedule@semaphore-codependency:
    - shard-snb:          NOTRUN -> [SKIP][14] ([fdo#109271]) +145 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-snb7/igt@gem_exec_schedule@semaphore-codependency.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-apl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4613]) +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl8/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-tglb:         NOTRUN -> [SKIP][16] ([i915#4613])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@gem_lmem_swapping@verify-random.html
    - shard-iclb:         NOTRUN -> [SKIP][17] ([i915#4613])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb6/igt@gem_lmem_swapping@verify-random.html
    - shard-glk:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4613])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk8/igt@gem_lmem_swapping@verify-random.html
    - shard-kbl:          NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4613]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl4/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap_gtt@coherency:
    - shard-tglb:         NOTRUN -> [SKIP][20] ([fdo#111656])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@gem_mmap_gtt@coherency.html

  * igt@gem_pxp@create-regular-buffer:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([i915#4270]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@gem_pxp@create-regular-buffer.html
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#4270]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb4/igt@gem_pxp@create-regular-buffer.html

  * igt@gem_softpin@evict-snoop:
    - shard-iclb:         NOTRUN -> [SKIP][23] ([fdo#109312])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb4/igt@gem_softpin@evict-snoop.html
    - shard-tglb:         NOTRUN -> [SKIP][24] ([fdo#109312])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb5/igt@gem_softpin@evict-snoop.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3323])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl3/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-tglb:         NOTRUN -> [SKIP][26] ([i915#3297]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@huge-split:
    - shard-glk:          [PASS][27] -> [FAIL][28] ([i915#3376])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-glk7/igt@gem_userptr_blits@huge-split.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk1/igt@gem_userptr_blits@huge-split.html

  * igt@gem_userptr_blits@invalid-mmap-offset-unsync:
    - shard-iclb:         NOTRUN -> [SKIP][29] ([i915#3297]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb1/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html

  * igt@gen7_exec_parse@cmd-crossing-page:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#109289]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@gen7_exec_parse@cmd-crossing-page.html

  * igt@gen7_exec_parse@oacontrol-tracking:
    - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#109289]) +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb4/igt@gen7_exec_parse@oacontrol-tracking.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([i915#2856])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@gen9_exec_parse@cmd-crossing-page.html
    - shard-iclb:         NOTRUN -> [SKIP][33] ([i915#2856])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb8/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         NOTRUN -> [FAIL][34] ([i915#454])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#4281])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@i915_pm_dc@dc9-dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][36] ([i915#4281])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#109506] / [i915#2411])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109293] / [fdo#109506])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb6/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@i915_pm_sseu@full-enable:
    - shard-tglb:         NOTRUN -> [SKIP][39] ([i915#4387])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@i915_pm_sseu@full-enable.html

  * igt@i915_selftest@live@hangcheck:
    - shard-snb:          [PASS][40] -> [INCOMPLETE][41] ([i915#3921])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-snb7/igt@i915_selftest@live@hangcheck.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-snb4/igt@i915_selftest@live@hangcheck.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [PASS][42] -> [DMESG-WARN][43] ([i915#180]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-apl6/igt@i915_suspend@debugfs-reader.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl1/igt@i915_suspend@debugfs-reader.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([i915#3826])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [SKIP][45] ([i915#3826])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#3777])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl1/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-glk:          NOTRUN -> [SKIP][47] ([fdo#109271] / [i915#3777])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([fdo#111614])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
    - shard-iclb:         NOTRUN -> [SKIP][49] ([fdo#110725] / [fdo#111614])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb5/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#3777]) +2 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([fdo#111615]) +3 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb8/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html

  * igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][52] ([i915#3689]) +7 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_ccs.html

  * igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#3886]) +3 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk7/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html
    - shard-tglb:         NOTRUN -> [SKIP][54] ([i915#3689] / [i915#3886]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html
    - shard-apl:          NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#3886]) +8 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl2/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html
    - shard-kbl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#3886]) +3 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl6/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][57] ([fdo#109278] / [i915#3886]) +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb8/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][58] ([fdo#111615] / [i915#3689]) +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb5/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][59] ([fdo#109271]) +80 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk5/igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([i915#3742])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb5/igt@kms_cdclk@plane-scaling.html
    - shard-tglb:         NOTRUN -> [SKIP][61] ([i915#3742]) +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium@dp-hpd-fast:
    - shard-snb:          NOTRUN -> [SKIP][62] ([fdo#109271] / [fdo#111827]) +7 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-snb2/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_chamelium@hdmi-hpd-for-each-pipe:
    - shard-kbl:          NOTRUN -> [SKIP][63] ([fdo#109271] / [fdo#111827]) +7 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl3/igt@kms_chamelium@hdmi-hpd-for-each-pipe.html

  * igt@kms_color_chamelium@pipe-b-ctm-0-75:
    - shard-tglb:         NOTRUN -> [SKIP][64] ([fdo#109284] / [fdo#111827]) +11 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@kms_color_chamelium@pipe-b-ctm-0-75.html

  * igt@kms_color_chamelium@pipe-b-gamma:
    - shard-iclb:         NOTRUN -> [SKIP][65] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb6/igt@kms_color_chamelium@pipe-b-gamma.html

  * igt@kms_color_chamelium@pipe-c-ctm-max:
    - shard-apl:          NOTRUN -> [SKIP][66] ([fdo#109271] / [fdo#111827]) +14 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl7/igt@kms_color_chamelium@pipe-c-ctm-max.html

  * igt@kms_color_chamelium@pipe-d-ctm-limited-range:
    - shard-iclb:         NOTRUN -> [SKIP][67] ([fdo#109278] / [fdo#109284] / [fdo#111827]) +2 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb3/igt@kms_color_chamelium@pipe-d-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-d-degamma:
    - shard-glk:          NOTRUN -> [SKIP][68] ([fdo#109271] / [fdo#111827]) +7 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk4/igt@kms_color_chamelium@pipe-d-degamma.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][69] ([i915#1319]) +1 similar issue
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl3/igt@kms_content_protection@lic.html
    - shard-iclb:         NOTRUN -> [SKIP][70] ([fdo#109300] / [fdo#111066])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb4/igt@kms_content_protection@lic.html
    - shard-tglb:         NOTRUN -> [SKIP][71] ([fdo#111828])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@kms_content_protection@lic.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][72] ([i915#1319])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl3/igt@kms_content_protection@lic.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [PASS][73] -> [DMESG-WARN][74] ([i915#180]) +4 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([i915#3319])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb8/igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-sliding:
    - shard-iclb:         NOTRUN -> [SKIP][76] ([fdo#109278] / [fdo#109279])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb4/igt@kms_cursor_crc@pipe-b-cursor-512x512-sliding.html

  * igt@kms_cursor_crc@pipe-c-cursor-max-size-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][77] ([i915#3359]) +5 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb6/igt@kms_cursor_crc@pipe-c-cursor-max-size-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][78] ([fdo#109279] / [i915#3359]) +4 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][79] ([fdo#109271]) +111 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl2/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-top-edge:
    - shard-iclb:         NOTRUN -> [SKIP][80] ([fdo#109278]) +20 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb2/igt@kms_cursor_edge_walk@pipe-d-128x128-top-edge.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-iclb:         NOTRUN -> [SKIP][81] ([fdo#109274] / [fdo#109278])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-iclb:         [PASS][82] -> [FAIL][83] ([i915#2346])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-iclb5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html

  * igt@kms_cursor_legacy@pipe-d-torture-bo:
    - shard-kbl:          NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#533]) +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl2/igt@kms_cursor_legacy@pipe-d-torture-bo.html
    - shard-glk:          NOTRUN -> [SKIP][85] ([fdo#109271] / [i915#533]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk5/igt@kms_cursor_legacy@pipe-d-torture-bo.html

  * igt@kms_dp_tiled_display@basic-test-pattern:
    - shard-iclb:         NOTRUN -> [SKIP][86] ([i915#426])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb1/igt@kms_dp_tiled_display@basic-test-pattern.html
    - shard-tglb:         NOTRUN -> [SKIP][87] ([i915#426])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb5/igt@kms_dp_tiled_display@basic-test-pattern.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
    - shard-glk:          [PASS][88] -> [FAIL][89] ([i915#1888])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-glk1/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk6/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][90] ([fdo#109274]) +3 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb1/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][91] ([i915#180]) +5 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
    - shard-apl:          NOTRUN -> [DMESG-WARN][92] ([i915#180])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl2/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_tiling@flip-change-tiling@dp-1-pipe-a-y-to-yf-ccs:
    - shard-apl:          NOTRUN -> [DMESG-WARN][93] ([i915#1226])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl1/igt@kms_flip_tiling@flip-change-tiling@dp-1-pipe-a-y-to-yf-ccs.html
    - shard-kbl:          NOTRUN -> [DMESG-WARN][94] ([i915#1226])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl4/igt@kms_flip_tiling@flip-change-tiling@dp-1-pipe-a-y-to-yf-ccs.html

  * igt@kms_force_connector_basic@force-load-detect:
    - shard-iclb:         NOTRUN -> [SKIP][95] ([fdo#109285])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb8/igt@kms_force_connector_basic@force-load-detect.html
    - shard-tglb:         NOTRUN -> [SKIP][96] ([fdo#109285])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb8/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         NOTRUN -> [SKIP][97] ([fdo#109280]) +26 similar issues
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][98] ([fdo#111825]) +43 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][99] ([fdo#109271] / [i915#533]) +2 similar issues
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][100] ([fdo#108145] / [i915#265]) +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl4/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-apl:          NOTRUN -> [SKIP][101] ([fdo#109271] / [i915#658]) +5 similar issues
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html
    - shard-tglb:         NOTRUN -> [SKIP][102] ([i915#2920]) +1 similar issue
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html
    - shard-iclb:         NOTRUN -> [SKIP][103] ([i915#658]) +1 similar issue
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5:
    - shard-glk:          NOTRUN -> [SKIP][104] ([fdo#109271] / [i915#658]) +2 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-1:
    - shard-iclb:         NOTRUN -> [SKIP][105] ([i915#2920])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-1.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-kbl:          NOTRUN -> [SKIP][106] ([fdo#109271] / [i915#658]) +4 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl3/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][107] -> [SKIP][108] ([fdo#109441]) +1 similar issue
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb3/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         NOTRUN -> [SKIP][109] ([fdo#109441])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html
    - shard-tglb:         NOTRUN -> [FAIL][110] ([i915#132] / [i915#3467]) +1 similar issue
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> [FAIL][111] ([IGT#2])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl2/igt@kms_sysfs_edid_timing.html
    - shard-kbl:          NOTRUN -> [FAIL][112] ([IGT#2])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl1/igt@kms_sysfs_edid_timing.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][113] -> [DMESG-WARN][114] ([i915#180] / [i915#295])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-kbl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_vrr@flip-suspend:
    - shard-iclb:         NOTRUN -> [SKIP][115] ([fdo#109502]) +1 similar issue
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb5/igt@kms_vrr@flip-suspend.html

  * igt@kms_vrr@flipline:
    - shard-tglb:         NOTRUN -> [SKIP][116] ([fdo#109502]) +1 similar issue
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb8/igt@kms_vrr@flipline.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-glk:          NOTRUN -> [SKIP][117] ([fdo#109271] / [i915#2437])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk7/igt@kms_writeback@writeback-fb-id.html
    - shard-apl:          NOTRUN -> [SKIP][118] ([fdo#109271] / [i915#2437])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl2/igt@kms_writeback@writeback-fb-id.html
    - shard-kbl:          NOTRUN -> [SKIP][119] ([fdo#109271] / [i915#2437])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl6/igt@kms_writeback@writeback-fb-id.html
    - shard-tglb:         NOTRUN -> [SKIP][120] ([i915#2437])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@kms_writeback@writeback-fb-id.html
    - shard-iclb:         NOTRUN -> [SKIP][121] ([i915#2437])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb2/igt@kms_writeback@writeback-fb-id.html

  * igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame:
    - shard-apl:          NOTRUN -> [SKIP][122] ([fdo#109271]) +217 similar issues
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl4/igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame.html

  * igt@prime_nv_api@i915_nv_import_twice:
    - shard-iclb:         NOTRUN -> [SKIP][123] ([fdo#109291])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb7/igt@prime_nv_api@i915_nv_import_twice.html

  * igt@prime_nv_pcopy@test3_5:
    - shard-tglb:         NOTRUN -> [SKIP][124] ([fdo#109291]) +2 similar issues
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@prime_nv_pcopy@test3_5.html

  * igt@prime_vgem@basic-userptr:
    - shard-tglb:         NOTRUN -> [SKIP][125] ([i915#3301])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb2/igt@prime_vgem@basic-userptr.html
    - shard-iclb:         NOTRUN -> [SKIP][126] ([i915#3301])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb7/igt@prime_vgem@basic-userptr.html

  * igt@prime_vgem@fence-read-hang:
    - shard-tglb:         NOTRUN -> [SKIP][127] ([fdo#109295])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@prime_vgem@fence-read-hang.html

  * igt@sysfs_clients@create:
    - shard-glk:          NOTRUN -> [SKIP][128] ([fdo#109271] / [i915#2994]) +1 similar issue
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk9/igt@sysfs_clients@create.html
    - shard-tglb:         NOTRUN -> [SKIP][129] ([i915#2994]) +2 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-tglb3/igt@sysfs_clients@create.html
    - shard-apl:          NOTRUN -> [SKIP][130] ([fdo#109271] / [i915#2994]) +3 similar issues
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl8/igt@sysfs_clients@create.html
    - shard-iclb:         NOTRUN -> [SKIP][131] ([i915#2994]) +2 similar issues
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-iclb5/igt@sysfs_clients@create.html

  * igt@sysfs_clients@sema-10:
    - shard-kbl:          NOTRUN -> [SKIP][132] ([fdo#109271] / [i915#2994]) +1 similar issue
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-kbl7/igt@sysfs_clients@sema-10.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-apl:          [SKIP][133] ([fdo#109271]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-apl7/igt@gem_exec_fair@basic-none-share@rcs0.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-apl8/igt@gem_exec_fair@basic-none-share@rcs0.html
    - shard-glk:          [FAIL][135] ([i915#2842]) -> [PASS][136]
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10965/shard-glk8/igt@gem_exec_fair@basic-none-share@rcs0.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - sh

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6470/index.html

[-- Attachment #2: Type: text/html, Size: 34002 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest (rev2)
  2021-12-06 16:42 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
                   ` (2 preceding siblings ...)
  2021-12-06 19:10 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2021-12-07 10:04 ` Patchwork
  3 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-12-07 10:04 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_engines: Added out fence for execute-one subtest (rev2)
URL   : https://patchwork.freedesktop.org/series/97623/
State : failure

== Summary ==

Applying: tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
Patch failed at 0001 tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
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".


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-06 17:31 ` Chris Wilson
@ 2021-12-08 11:47   ` Melkaveri, Arjun
  2021-12-09  6:23   ` Zbigniew Kempczyński
  1 sibling, 0 replies; 14+ messages in thread
From: Melkaveri, Arjun @ 2021-12-08 11:47 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Mon, Dec 06, 2021 at 05:31:12PM +0000, Chris Wilson wrote:
> Quoting Arjun Melkaveri (2021-12-06 16:42:51)
> > To make spinner to be on same context for following execbuf,
> > spin out_fence is passed to execbuf.rsvd2.
> > 
> > Used IGT_SPIN_FENCE_OUT flag in spinner.
> > 
> > Cc: Chris Wilson <chris.p.wilson@intel.com>
> > Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> > ---
> >  tests/i915/gem_ctx_engines.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> > index 003dd171..c746f268 100644
> > --- a/tests/i915/gem_ctx_engines.c
> > +++ b/tests/i915/gem_ctx_engines.c
> > @@ -298,7 +298,7 @@ static void execute_one(int i915)
> >                         spin = igt_spin_new(i915,
> >                                             .ahnd = ahnd,
> >                                             .ctx = ctx,
> > -                                           .flags = (IGT_SPIN_NO_PREEMPTION |
> > +                                           .flags = (IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION |
> 
> Introducing FENCE_OUT means we can stop using the no-preemption, as no
> subsequent request is allowed to execute before the cork.
> 
> But we do have to add I915_EXEC_FENCE_IN to the execbuf.flags so that it
> is executed after the spinner.
> 
> >                                                       IGT_SPIN_POLL_RUN));
> >  
> >                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> > @@ -320,6 +320,7 @@ static void execute_one(int i915)
> >                                 int expected = j == i ? 0 : -EINVAL;
> >  
> >                                 execbuf.rsvd1 = ctx->id;
> > +                               execbuf.rsvd2 = spin->out_fence;
> 
> It's also complicated by that we re-execute the spinner for each engine,
> each time it will have a new out fence not recorded in spin->out_fence,
> but in spin->execbuf.rsvd2.
> 
> 6a4199ef96 HEAD@{1222}: am: i915/gem_ctx_engines: Replace NO_PREEMPT spinners with explicit fencing
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index 2804cae0fe..13555bc525 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -331,6 +331,7 @@ static void execute_one(int i915)
>                 .buffers_ptr = to_user_pointer(&obj),
>                 .buffer_count = 1,
>                 .rsvd1 = param.ctx_id,
> +               .flags = I915_EXEC_FENCE_IN,
>         };
>         const uint32_t bbe = MI_BATCH_BUFFER_END;
>         const struct intel_execution_engine2 *e;
> @@ -338,7 +339,7 @@ static void execute_one(int i915)
> 
>         /* Prewarm the spinner */
>         spin = igt_spin_new(i915, .ctx_id = param.ctx_id,
> -                           .flags = (IGT_SPIN_NO_PREEMPTION |
> +                           .flags = (IGT_SPIN_FENCE_OUT |
>                                       IGT_SPIN_POLL_RUN));
> 
>         gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe));
> @@ -369,6 +370,7 @@ static void execute_one(int i915)
>                         gem_sync(i915, spin->handle);
>                         igt_spin_reset(spin);
>                         gem_execbuf(i915, &spin->execbuf);
> +                       execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
> 
>                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
>                         igt_assert_eq(busy.busy, 0);
> @@ -382,7 +384,6 @@ static void execute_one(int i915)
>                         param.size = sizeof(uint64_t) + (i + 1) * sizeof(uint32_t);
>                         gem_context_set_param(i915, &param);
> 
> -                       igt_spin_busywait_until_started(spin);
>                         for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
>                                 int expected = j == i ? 0 : -EINVAL;
> 
> @@ -397,6 +398,7 @@ static void execute_one(int i915)
>                                       i != -1 ? 1 << e->class : 0);
> 
>                         igt_spin_end(spin);
> +                       close(spin->execbuf.rsvd2 >> 32);
> 
>                         gem_sync(i915, obj.handle);
>                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> 
Hi Chris ,
You have made modification on older code , before intel_ctx was
implemented . 
I have got idea about your suggestion , will modify exiting code 
and send it for review .

Will look into "independent-all" subtest post this .
-Arjun
> The bigger challenge is removing the NO_PREEMPTION from independent-all.
> -Chris

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-06 17:31 ` Chris Wilson
  2021-12-08 11:47   ` Melkaveri, Arjun
@ 2021-12-09  6:23   ` Zbigniew Kempczyński
  1 sibling, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09  6:23 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Mon, Dec 06, 2021 at 05:31:12PM +0000, Chris Wilson wrote:
> Quoting Arjun Melkaveri (2021-12-06 16:42:51)
> > To make spinner to be on same context for following execbuf,
> > spin out_fence is passed to execbuf.rsvd2.
> > 
> > Used IGT_SPIN_FENCE_OUT flag in spinner.
> > 
> > Cc: Chris Wilson <chris.p.wilson@intel.com>
> > Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> > ---
> >  tests/i915/gem_ctx_engines.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> > index 003dd171..c746f268 100644
> > --- a/tests/i915/gem_ctx_engines.c
> > +++ b/tests/i915/gem_ctx_engines.c
> > @@ -298,7 +298,7 @@ static void execute_one(int i915)
> >                         spin = igt_spin_new(i915,
> >                                             .ahnd = ahnd,
> >                                             .ctx = ctx,
> > -                                           .flags = (IGT_SPIN_NO_PREEMPTION |
> > +                                           .flags = (IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION |
> 
> Introducing FENCE_OUT means we can stop using the no-preemption, as no
> subsequent request is allowed to execute before the cork.
> 
> But we do have to add I915_EXEC_FENCE_IN to the execbuf.flags so that it
> is executed after the spinner.
> 
> >                                                       IGT_SPIN_POLL_RUN));
> >  
> >                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> > @@ -320,6 +320,7 @@ static void execute_one(int i915)
> >                                 int expected = j == i ? 0 : -EINVAL;
> >  
> >                                 execbuf.rsvd1 = ctx->id;
> > +                               execbuf.rsvd2 = spin->out_fence;
> 
> It's also complicated by that we re-execute the spinner for each engine,
> each time it will have a new out fence not recorded in spin->out_fence,
> but in spin->execbuf.rsvd2.

Are you sure it is same spinner? From what I see in execute_one for
each loop we create spinner on the beginning of that loop and free it
on the end.

--
Zbigniew

> 
> 6a4199ef96 HEAD@{1222}: am: i915/gem_ctx_engines: Replace NO_PREEMPT spinners with explicit fencing
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index 2804cae0fe..13555bc525 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -331,6 +331,7 @@ static void execute_one(int i915)
>                 .buffers_ptr = to_user_pointer(&obj),
>                 .buffer_count = 1,
>                 .rsvd1 = param.ctx_id,
> +               .flags = I915_EXEC_FENCE_IN,
>         };
>         const uint32_t bbe = MI_BATCH_BUFFER_END;
>         const struct intel_execution_engine2 *e;
> @@ -338,7 +339,7 @@ static void execute_one(int i915)
> 
>         /* Prewarm the spinner */
>         spin = igt_spin_new(i915, .ctx_id = param.ctx_id,
> -                           .flags = (IGT_SPIN_NO_PREEMPTION |
> +                           .flags = (IGT_SPIN_FENCE_OUT |
>                                       IGT_SPIN_POLL_RUN));
> 
>         gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe));
> @@ -369,6 +370,7 @@ static void execute_one(int i915)
>                         gem_sync(i915, spin->handle);
>                         igt_spin_reset(spin);
>                         gem_execbuf(i915, &spin->execbuf);
> +                       execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
> 
>                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
>                         igt_assert_eq(busy.busy, 0);
> @@ -382,7 +384,6 @@ static void execute_one(int i915)
>                         param.size = sizeof(uint64_t) + (i + 1) * sizeof(uint32_t);
>                         gem_context_set_param(i915, &param);
> 
> -                       igt_spin_busywait_until_started(spin);
>                         for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
>                                 int expected = j == i ? 0 : -EINVAL;
> 
> @@ -397,6 +398,7 @@ static void execute_one(int i915)
>                                       i != -1 ? 1 << e->class : 0);
> 
>                         igt_spin_end(spin);
> +                       close(spin->execbuf.rsvd2 >> 32);
> 
>                         gem_sync(i915, obj.handle);
>                         do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> 
> The bigger challenge is removing the NO_PREEMPTION from independent-all.
> -Chris

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2022-02-04 20:03 Arjun Melkaveri
@ 2022-02-07  7:52 ` Thomas Hellström
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Hellström @ 2022-02-07  7:52 UTC (permalink / raw)
  To: Arjun Melkaveri, igt-dev

On Sat, 2022-02-05 at 01:33 +0530, Arjun Melkaveri wrote:
> Resolved __gem_execbuf error seen, by passing spin->execbuf.rsvd2 >>
> 32.
> As we are creating ctx for each engine .
> Error resolved:-
> (gem_ctx_engines:4117) CRITICAL: Failed assertion:
> __gem_execbuf(i915, &execbuf) == expected
> (gem_ctx_engines:4117) CRITICAL: Failed to report the valid engine
> for slot 0 (valid at 0)
> 
> Introducing IGT_SPIN_FENCE_OUT means we can stop using the
> no-preemption in spinner. Added
> I915_EXEC_FENCE_IN to the execbuf.flags so that it
> is executed after the spinner.
> This is enhancement to the code .
> 
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
@ 2022-02-04 20:03 Arjun Melkaveri
  2022-02-07  7:52 ` Thomas Hellström
  0 siblings, 1 reply; 14+ messages in thread
From: Arjun Melkaveri @ 2022-02-04 20:03 UTC (permalink / raw)
  To: arjun.melkaveri, thomas.hellstrom, igt-dev

Resolved __gem_execbuf error seen, by passing spin->execbuf.rsvd2 >> 32.
As we are creating ctx for each engine .
Error resolved:-
(gem_ctx_engines:4117) CRITICAL: Failed assertion: __gem_execbuf(i915, &execbuf) == expected
(gem_ctx_engines:4117) CRITICAL: Failed to report the valid engine for slot 0 (valid at 0)

Introducing IGT_SPIN_FENCE_OUT means we can stop using the
no-preemption in spinner. Added
I915_EXEC_FENCE_IN to the execbuf.flags so that it
is executed after the spinner.
This is enhancement to the code .

Cc: Chris Wilson <chris.p.wilson@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
 tests/i915/gem_ctx_engines.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 003dd171..de4b822c 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -298,7 +298,7 @@ static void execute_one(int i915)
 			spin = igt_spin_new(i915,
 					    .ahnd = ahnd,
 					    .ctx = ctx,
-					    .flags = (IGT_SPIN_NO_PREEMPTION |
+					    .flags = (IGT_SPIN_FENCE_OUT |
 						      IGT_SPIN_POLL_RUN));
 
 			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
@@ -314,13 +314,13 @@ static void execute_one(int i915)
 			}
 			cfg.num_engines = GEM_MAX_ENGINES;
 			ctx = intel_ctx_create(i915, &cfg);
+			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
 
-			igt_spin_busywait_until_started(spin);
 			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
 				int expected = j == i ? 0 : -EINVAL;
 
 				execbuf.rsvd1 = ctx->id;
-				execbuf.flags = j;
+				execbuf.flags = j | I915_EXEC_FENCE_IN;
 				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
 					     "Failed to report the %s engine for slot %d (valid at %d)\n",
 					     j == i ? "valid" : "invalid", j, i);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-09 19:13 Arjun Melkaveri
@ 2021-12-28 12:41 ` Melkaveri, Arjun
  0 siblings, 0 replies; 14+ messages in thread
From: Melkaveri, Arjun @ 2021-12-28 12:41 UTC (permalink / raw)
  To: chris.p.wilson, zbigniew.kempczynski, igt-dev

On Fri, Dec 10, 2021 at 12:43:34AM +0530, Arjun Melkaveri wrote:
> To make spinner to be on same context for following execbuf,
> spin out_fence is passed to execbuf.rsvd2.
> 
> Used IGT_SPIN_FENCE_OUT flag in spinner, we can stop
> using no-preemption.
> 
> Added I915_EXEC_FENCE_IN to the execbuf.flags so that it
> is executed after the spinner.
> 
> v3: Restore back to original code to use igt_spin_end
> to avoid interference with the test and to keep debugging clean.
> (Suggested by Chris Wilson).
Reminder for review
> 
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> ---
>  tests/i915/gem_ctx_engines.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index 003dd171..c74601c2 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -298,7 +298,7 @@ static void execute_one(int i915)
>  			spin = igt_spin_new(i915,
>  					    .ahnd = ahnd,
>  					    .ctx = ctx,
> -					    .flags = (IGT_SPIN_NO_PREEMPTION |
> +					    .flags = (IGT_SPIN_FENCE_OUT |
>  						      IGT_SPIN_POLL_RUN));
>  
>  			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> @@ -314,13 +314,13 @@ static void execute_one(int i915)
>  			}
>  			cfg.num_engines = GEM_MAX_ENGINES;
>  			ctx = intel_ctx_create(i915, &cfg);
> +			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
>  
> -			igt_spin_busywait_until_started(spin);
>  			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
>  				int expected = j == i ? 0 : -EINVAL;
>  
>  				execbuf.rsvd1 = ctx->id;
> -				execbuf.flags = j;
> +				execbuf.flags = j | I915_EXEC_FENCE_IN;
>  				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
>  					     "Failed to report the %s engine for slot %d (valid at %d)\n",
>  					     j == i ? "valid" : "invalid", j, i);
> @@ -330,7 +330,8 @@ static void execute_one(int i915)
>  			igt_assert_eq(batch_busy(busy.busy),
>  				      i != -1 ? 1 << e->class : 0);
>  
> -			igt_spin_free(i915, spin);
> +			igt_spin_end(spin);
> +			close(spin->execbuf.rsvd2 >> 32);
>  			put_ahnd(ahnd);
>  
>  			gem_sync(i915, obj.handle);
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
@ 2021-12-09 19:13 Arjun Melkaveri
  2021-12-28 12:41 ` Melkaveri, Arjun
  0 siblings, 1 reply; 14+ messages in thread
From: Arjun Melkaveri @ 2021-12-09 19:13 UTC (permalink / raw)
  To: arjun.melkaveri, chris.p.wilson, zbigniew.kempczynski, igt-dev

To make spinner to be on same context for following execbuf,
spin out_fence is passed to execbuf.rsvd2.

Used IGT_SPIN_FENCE_OUT flag in spinner, we can stop
using no-preemption.

Added I915_EXEC_FENCE_IN to the execbuf.flags so that it
is executed after the spinner.

v3: Restore back to original code to use igt_spin_end
to avoid interference with the test and to keep debugging clean.
(Suggested by Chris Wilson).

Cc: Chris Wilson <chris.p.wilson@intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
 tests/i915/gem_ctx_engines.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 003dd171..c74601c2 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -298,7 +298,7 @@ static void execute_one(int i915)
 			spin = igt_spin_new(i915,
 					    .ahnd = ahnd,
 					    .ctx = ctx,
-					    .flags = (IGT_SPIN_NO_PREEMPTION |
+					    .flags = (IGT_SPIN_FENCE_OUT |
 						      IGT_SPIN_POLL_RUN));
 
 			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
@@ -314,13 +314,13 @@ static void execute_one(int i915)
 			}
 			cfg.num_engines = GEM_MAX_ENGINES;
 			ctx = intel_ctx_create(i915, &cfg);
+			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
 
-			igt_spin_busywait_until_started(spin);
 			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
 				int expected = j == i ? 0 : -EINVAL;
 
 				execbuf.rsvd1 = ctx->id;
-				execbuf.flags = j;
+				execbuf.flags = j | I915_EXEC_FENCE_IN;
 				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
 					     "Failed to report the %s engine for slot %d (valid at %d)\n",
 					     j == i ? "valid" : "invalid", j, i);
@@ -330,7 +330,8 @@ static void execute_one(int i915)
 			igt_assert_eq(batch_busy(busy.busy),
 				      i != -1 ? 1 << e->class : 0);
 
-			igt_spin_free(i915, spin);
+			igt_spin_end(spin);
+			close(spin->execbuf.rsvd2 >> 32);
 			put_ahnd(ahnd);
 
 			gem_sync(i915, obj.handle);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-09  6:12 ` Zbigniew Kempczyński
@ 2021-12-09 18:58   ` Melkaveri, Arjun
  0 siblings, 0 replies; 14+ messages in thread
From: Melkaveri, Arjun @ 2021-12-09 18:58 UTC (permalink / raw)
  To: Zbigniew Kempczyński; +Cc: igt-dev, chris.p.wilson

On Thu, Dec 09, 2021 at 07:12:18AM +0100, Zbigniew Kempczyński wrote:
> On Wed, Dec 08, 2021 at 05:37:38PM +0530, Arjun Melkaveri wrote:
> > To make spinner to be on same context for following execbuf,
> > spin out_fence is passed to execbuf.rsvd2.
> > 
> > Used IGT_SPIN_FENCE_OUT flag in spinner, we can stop
> > using no-preemption.
> > 
> > Added I915_EXEC_FENCE_IN to the execbuf.flags so that it
> > is executed after the spinner.
> > (Suggested by Chris Wilson).
> > 
> > Cc: Chris Wilson <chris.p.wilson@intel.com>
> > Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> > ---
> >  tests/i915/gem_ctx_engines.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> > index 003dd171..0b8d5c78 100644
> > --- a/tests/i915/gem_ctx_engines.c
> > +++ b/tests/i915/gem_ctx_engines.c
> > @@ -298,7 +298,7 @@ static void execute_one(int i915)
> >  			spin = igt_spin_new(i915,
> >  					    .ahnd = ahnd,
> >  					    .ctx = ctx,
> > -					    .flags = (IGT_SPIN_NO_PREEMPTION |
> > +					    .flags = (IGT_SPIN_FENCE_OUT |
> >  						      IGT_SPIN_POLL_RUN));
> >  
> >  			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> > @@ -314,13 +314,13 @@ static void execute_one(int i915)
> >  			}
> >  			cfg.num_engines = GEM_MAX_ENGINES;
> >  			ctx = intel_ctx_create(i915, &cfg);
> > +			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
> 
> Check spin->fence_out. In this case doesn't matter but for merging 
> fences it can.
> 
> >  
> > -			igt_spin_busywait_until_started(spin);
> >  			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
> >  				int expected = j == i ? 0 : -EINVAL;
> >  
> >  				execbuf.rsvd1 = ctx->id;
> > -				execbuf.flags = j;
> > +				execbuf.flags = j | I915_EXEC_FENCE_IN;
> >  				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
> >  					     "Failed to report the %s engine for slot %d (valid at %d)\n",
> >  					     j == i ? "valid" : "invalid", j, i);
> > @@ -331,6 +331,7 @@ static void execute_one(int i915)
> >  				      i != -1 ? 1 << e->class : 0);
> >  
> >  			igt_spin_free(i915, spin);
> > +			close(spin->execbuf.rsvd2 >> 32);
> 
> And look at igt_spin_free() function what it does with fence_out.
@Zbigniew :- right igt_spin_free does "close(spin->out_fence)".

I'll be modifying code to retain old implementaion i.e using igt_spin_end instead of igt_spin_free.
> 
> --
> Zbigniew
> 
> >  			put_ahnd(ahnd);
> >  
> >  			gem_sync(i915, obj.handle);
> > -- 
> > 2.25.1
> > 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
  2021-12-08 12:07 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
@ 2021-12-09  6:12 ` Zbigniew Kempczyński
  2021-12-09 18:58   ` Melkaveri, Arjun
  0 siblings, 1 reply; 14+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09  6:12 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev, chris.p.wilson

On Wed, Dec 08, 2021 at 05:37:38PM +0530, Arjun Melkaveri wrote:
> To make spinner to be on same context for following execbuf,
> spin out_fence is passed to execbuf.rsvd2.
> 
> Used IGT_SPIN_FENCE_OUT flag in spinner, we can stop
> using no-preemption.
> 
> Added I915_EXEC_FENCE_IN to the execbuf.flags so that it
> is executed after the spinner.
> (Suggested by Chris Wilson).
> 
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> ---
>  tests/i915/gem_ctx_engines.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index 003dd171..0b8d5c78 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -298,7 +298,7 @@ static void execute_one(int i915)
>  			spin = igt_spin_new(i915,
>  					    .ahnd = ahnd,
>  					    .ctx = ctx,
> -					    .flags = (IGT_SPIN_NO_PREEMPTION |
> +					    .flags = (IGT_SPIN_FENCE_OUT |
>  						      IGT_SPIN_POLL_RUN));
>  
>  			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
> @@ -314,13 +314,13 @@ static void execute_one(int i915)
>  			}
>  			cfg.num_engines = GEM_MAX_ENGINES;
>  			ctx = intel_ctx_create(i915, &cfg);
> +			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;

Check spin->fence_out. In this case doesn't matter but for merging 
fences it can.

>  
> -			igt_spin_busywait_until_started(spin);
>  			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
>  				int expected = j == i ? 0 : -EINVAL;
>  
>  				execbuf.rsvd1 = ctx->id;
> -				execbuf.flags = j;
> +				execbuf.flags = j | I915_EXEC_FENCE_IN;
>  				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
>  					     "Failed to report the %s engine for slot %d (valid at %d)\n",
>  					     j == i ? "valid" : "invalid", j, i);
> @@ -331,6 +331,7 @@ static void execute_one(int i915)
>  				      i != -1 ? 1 << e->class : 0);
>  
>  			igt_spin_free(i915, spin);
> +			close(spin->execbuf.rsvd2 >> 32);

And look at igt_spin_free() function what it does with fence_out.

--
Zbigniew

>  			put_ahnd(ahnd);
>  
>  			gem_sync(i915, obj.handle);
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest
@ 2021-12-08 12:07 Arjun Melkaveri
  2021-12-09  6:12 ` Zbigniew Kempczyński
  0 siblings, 1 reply; 14+ messages in thread
From: Arjun Melkaveri @ 2021-12-08 12:07 UTC (permalink / raw)
  To: arjun.melkaveri, chris.p.wilson, igt-dev

To make spinner to be on same context for following execbuf,
spin out_fence is passed to execbuf.rsvd2.

Used IGT_SPIN_FENCE_OUT flag in spinner, we can stop
using no-preemption.

Added I915_EXEC_FENCE_IN to the execbuf.flags so that it
is executed after the spinner.
(Suggested by Chris Wilson).

Cc: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
 tests/i915/gem_ctx_engines.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 003dd171..0b8d5c78 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -298,7 +298,7 @@ static void execute_one(int i915)
 			spin = igt_spin_new(i915,
 					    .ahnd = ahnd,
 					    .ctx = ctx,
-					    .flags = (IGT_SPIN_NO_PREEMPTION |
+					    .flags = (IGT_SPIN_FENCE_OUT |
 						      IGT_SPIN_POLL_RUN));
 
 			do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
@@ -314,13 +314,13 @@ static void execute_one(int i915)
 			}
 			cfg.num_engines = GEM_MAX_ENGINES;
 			ctx = intel_ctx_create(i915, &cfg);
+			execbuf.rsvd2 = spin->execbuf.rsvd2 >> 32;
 
-			igt_spin_busywait_until_started(spin);
 			for (int j = 0; j <= I915_EXEC_RING_MASK; j++) {
 				int expected = j == i ? 0 : -EINVAL;
 
 				execbuf.rsvd1 = ctx->id;
-				execbuf.flags = j;
+				execbuf.flags = j | I915_EXEC_FENCE_IN;
 				igt_assert_f(__gem_execbuf(i915, &execbuf) == expected,
 					     "Failed to report the %s engine for slot %d (valid at %d)\n",
 					     j == i ? "valid" : "invalid", j, i);
@@ -331,6 +331,7 @@ static void execute_one(int i915)
 				      i != -1 ? 1 << e->class : 0);
 
 			igt_spin_free(i915, spin);
+			close(spin->execbuf.rsvd2 >> 32);
 			put_ahnd(ahnd);
 
 			gem_sync(i915, obj.handle);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-02-07  7:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-06 16:42 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
2021-12-06 17:31 ` Chris Wilson
2021-12-08 11:47   ` Melkaveri, Arjun
2021-12-09  6:23   ` Zbigniew Kempczyński
2021-12-06 17:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-12-06 19:10 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-12-07 10:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/gem_ctx_engines: Added out fence for execute-one subtest (rev2) Patchwork
2021-12-08 12:07 [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_engines: Added out fence for execute-one subtest Arjun Melkaveri
2021-12-09  6:12 ` Zbigniew Kempczyński
2021-12-09 18:58   ` Melkaveri, Arjun
2021-12-09 19:13 Arjun Melkaveri
2021-12-28 12:41 ` Melkaveri, Arjun
2022-02-04 20:03 Arjun Melkaveri
2022-02-07  7:52 ` Thomas Hellström

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.