* [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice
@ 2019-08-02 9:58 Chris Wilson
2019-08-02 10:10 ` ✗ GitLab.Pipeline: warning for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chris Wilson @ 2019-08-02 9:58 UTC (permalink / raw
To: intel-gfx
Check that we can run a second request even if an equal priority spinner
is hogging the engine.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
tests/i915/gem_exec_schedule.c | 35 ++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 4ccacba41..26b5af6f0 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -1026,6 +1026,38 @@ static void preempt_queue(int fd, unsigned ring, unsigned int flags)
}
}
+static void preempt_timeslice(int fd, unsigned ring)
+{
+ const uint32_t bbe = MI_BATCH_BUFFER_END;
+ struct drm_i915_gem_exec_object2 obj = {
+ .handle = gem_create(fd, 4096)
+ };
+ struct drm_i915_gem_execbuffer2 execbuf = {
+ .buffers_ptr = to_user_pointer(&obj),
+ .buffer_count = 1,
+ .flags = ring,
+ .rsvd1 = gem_context_create(fd),
+ };
+ igt_spin_t *spin;
+
+ /*
+ * Launch a spinner to occupy the target engine, and then
+ * check we execute a ping underneath it from a second context.
+ */
+ spin = igt_spin_new(fd, .engine = ring, .flags = IGT_SPIN_POLL_RUN);
+ igt_spin_busywait_until_started(spin);
+
+ /* Both the active spinner and this are at the same priority */
+ gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe));
+ gem_execbuf(fd, &execbuf);
+ gem_sync(fd, obj.handle);
+
+ igt_spin_free(fd, spin);
+
+ gem_context_destroy(fd, execbuf.rsvd1);
+ gem_close(fd, obj.handle);
+}
+
static void preempt_self(int fd, unsigned ring)
{
uint32_t result = gem_create(fd, 4096);
@@ -1733,6 +1765,9 @@ igt_main
igt_subtest_f("preempt-queue-contexts-chain-%s", e->name)
preempt_queue(fd, e->exec_id | e->flags, CONTEXTS | CHAIN);
+ igt_subtest_f("preempt-timeslice-%s", e->name)
+ preempt_timeslice(fd, e->exec_id | e->flags);
+
igt_subtest_group {
igt_hang_t hang;
--
2.23.0.rc0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✗ GitLab.Pipeline: warning for i915/gem_exec_schedule: Check timeslice
2019-08-02 9:58 [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice Chris Wilson
@ 2019-08-02 10:10 ` Patchwork
2019-08-02 10:25 ` ✓ Fi.CI.BAT: success " Patchwork
2019-08-03 13:16 ` ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-08-02 10:10 UTC (permalink / raw
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: i915/gem_exec_schedule: Check timeslice
URL : https://patchwork.freedesktop.org/series/64600/
State : warning
== Summary ==
Pipeline status: FAILED.
See https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/53054 for more details.
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/53054
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.BAT: success for i915/gem_exec_schedule: Check timeslice
2019-08-02 9:58 [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice Chris Wilson
2019-08-02 10:10 ` ✗ GitLab.Pipeline: warning for " Patchwork
@ 2019-08-02 10:25 ` Patchwork
2019-08-03 13:16 ` ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-08-02 10:25 UTC (permalink / raw
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: i915/gem_exec_schedule: Check timeslice
URL : https://patchwork.freedesktop.org/series/64600/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6612 -> IGTPW_3315
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with IGTPW_3315 need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_3315, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/64600/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3315:
### IGT changes ###
#### Warnings ####
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u: [WARN][1] ([fdo#109380]) -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html
Known issues
------------
Here are the changes found in IGTPW_3315 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm: [PASS][3] -> [DMESG-FAIL][4] ([fdo#111108])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2: [PASS][5] -> [FAIL][6] ([fdo#109483])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy: [PASS][7] -> [DMESG-WARN][8] ([fdo#102614])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
* igt@prime_vgem@basic-fence-read:
- fi-bsw-kefka: [PASS][9] -> [INCOMPLETE][10] ([fdo#111278])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html
- fi-gdg-551: [PASS][11] -> [INCOMPLETE][12] ([fdo#108316])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-gdg-551/igt@prime_vgem@basic-fence-read.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-gdg-551/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-wait-default:
- fi-bxt-j4205: [PASS][13] -> [FAIL][14] ([fdo#111277])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-bxt-j4205/igt@prime_vgem@basic-wait-default.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-bxt-j4205/igt@prime_vgem@basic-wait-default.html
#### Possible fixes ####
* igt@gem_exec_reloc@basic-softpin:
- fi-icl-u3: [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16] +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-icl-u3/igt@gem_exec_reloc@basic-softpin.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-icl-u3/igt@gem_exec_reloc@basic-softpin.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7567u: [FAIL][17] ([fdo#109485]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_pipe_crc_basic@read-crc-pipe-c:
- fi-kbl-7567u: [SKIP][19] ([fdo#109271]) -> [PASS][20] +23 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html
* igt@prime_vgem@basic-fence-read:
- fi-pnv-d510: [INCOMPLETE][21] ([fdo#110740]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-pnv-d510/igt@prime_vgem@basic-fence-read.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-pnv-d510/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-sync-default:
- fi-bxt-j4205: [FAIL][23] ([fdo#111277]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-bxt-j4205/igt@prime_vgem@basic-sync-default.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-bxt-j4205/igt@prime_vgem@basic-sync-default.html
- fi-bxt-dsi: [FAIL][25] ([fdo#111277]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#108316]: https://bugs.freedesktop.org/show_bug.cgi?id=108316
[fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
[fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
[fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
[fdo#110740]: https://bugs.freedesktop.org/show_bug.cgi?id=110740
[fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
[fdo#111277]: https://bugs.freedesktop.org/show_bug.cgi?id=111277
[fdo#111278]: https://bugs.freedesktop.org/show_bug.cgi?id=111278
Participating hosts (50 -> 43)
------------------------------
Additional (1): fi-icl-guc
Missing (8): fi-kbl-soraka fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-icl-y fi-bdw-samus fi-icl-dsi fi-skl-6700k2
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5120 -> IGTPW_3315
CI-20190529: 20190529
CI_DRM_6612: c85e7a40c6feee8cb16ceee3386189fc00f48cc1 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3315: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/
IGT_5120: b3138fbea79d5d7935e53530b90efe3e816236f4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@gem_exec_schedule@preempt-timeslice-blt
+igt@gem_exec_schedule@preempt-timeslice-bsd
+igt@gem_exec_schedule@preempt-timeslice-bsd1
+igt@gem_exec_schedule@preempt-timeslice-bsd2
+igt@gem_exec_schedule@preempt-timeslice-render
+igt@gem_exec_schedule@preempt-timeslice-vebox
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.IGT: success for i915/gem_exec_schedule: Check timeslice
2019-08-02 9:58 [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice Chris Wilson
2019-08-02 10:10 ` ✗ GitLab.Pipeline: warning for " Patchwork
2019-08-02 10:25 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-08-03 13:16 ` Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-08-03 13:16 UTC (permalink / raw
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: i915/gem_exec_schedule: Check timeslice
URL : https://patchwork.freedesktop.org/series/64600/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6612_full -> IGTPW_3315_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/64600/revisions/1/mbox/
New tests
---------
New tests have been introduced between CI_DRM_6612_full and IGTPW_3315_full:
### New IGT tests (6) ###
* igt@gem_exec_schedule@preempt-timeslice-blt:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.01] s
* igt@gem_exec_schedule@preempt-timeslice-bsd:
- Statuses : 3 pass(s) 3 skip(s)
- Exec time: [0.0, 0.01] s
* igt@gem_exec_schedule@preempt-timeslice-bsd1:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.00] s
* igt@gem_exec_schedule@preempt-timeslice-bsd2:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.00] s
* igt@gem_exec_schedule@preempt-timeslice-render:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.01] s
* igt@gem_exec_schedule@preempt-timeslice-vebox:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.01] s
Known issues
------------
Here are the changes found in IGTPW_3315_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_caching@writes:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb8/igt@gem_caching@writes.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb4/igt@gem_caching@writes.html
* igt@i915_pm_rpm@i2c:
- shard-hsw: [PASS][3] -> [FAIL][4] ([fdo#104097])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-hsw8/igt@i915_pm_rpm@i2c.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-hsw2/igt@i915_pm_rpm@i2c.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding:
- shard-kbl: [PASS][7] -> [FAIL][8] ([fdo#103232])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
- shard-apl: [PASS][9] -> [FAIL][10] ([fdo#103232])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl4/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +2 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) +3 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb4/igt@kms_psr@psr2_primary_page_flip.html
* igt@kms_setmode@basic:
- shard-apl: [PASS][15] -> [FAIL][16] ([fdo#99912])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl4/igt@kms_setmode@basic.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl8/igt@kms_setmode@basic.html
- shard-kbl: [PASS][17] -> [FAIL][18] ([fdo#99912])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-kbl1/igt@kms_setmode@basic.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-kbl1/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-apl: [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +3 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl6/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
* igt@prime_vgem@basic-wait-default:
- shard-apl: [PASS][21] -> [FAIL][22] ([fdo#111277])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl5/igt@prime_vgem@basic-wait-default.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl2/igt@prime_vgem@basic-wait-default.html
* igt@prime_vgem@sync-render:
- shard-apl: [PASS][23] -> [FAIL][24] ([fdo#111276])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl2/igt@prime_vgem@sync-render.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl8/igt@prime_vgem@sync-render.html
#### Possible fixes ####
* igt@gem_ctx_isolation@bcs0-s3:
- shard-kbl: [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +4 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-kbl1/igt@gem_ctx_isolation@bcs0-s3.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-kbl1/igt@gem_ctx_isolation@bcs0-s3.html
* igt@gem_ctx_shared@q-smoketest-default:
- shard-iclb: [INCOMPLETE][27] ([fdo#107713]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb7/igt@gem_ctx_shared@q-smoketest-default.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb7/igt@gem_ctx_shared@q-smoketest-default.html
* igt@i915_pm_rpm@pm-tiling:
- shard-iclb: [INCOMPLETE][29] ([fdo#107713] / [fdo#108840]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb2/igt@i915_pm_rpm@pm-tiling.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb4/igt@i915_pm_rpm@pm-tiling.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [FAIL][31] ([fdo#103167]) -> [PASS][32] +5 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
- shard-iclb: [INCOMPLETE][33] ([fdo#107713] / [fdo#110036 ]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb8/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb3/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-apl: [DMESG-WARN][35] ([fdo#108566]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [FAIL][37] ([fdo#103166]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-y.html
* igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: [SKIP][39] ([fdo#109441]) -> [PASS][40] +1 similar issue
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-iclb4/igt@kms_psr@psr2_sprite_mmap_gtt.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
* igt@prime_vgem@busy-vebox:
- shard-apl: [FAIL][41] ([fdo#111276]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl1/igt@prime_vgem@busy-vebox.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl8/igt@prime_vgem@busy-vebox.html
* igt@syncobj_wait@wait-all-for-submit-complex:
- shard-apl: [INCOMPLETE][43] ([fdo#103927]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-apl8/igt@syncobj_wait@wait-all-for-submit-complex.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-apl2/igt@syncobj_wait@wait-all-for-submit-complex.html
#### Warnings ####
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [DMESG-WARN][45] ([fdo#108566]) -> [INCOMPLETE][46] ([fdo#103665])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6612/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#104097]: https://bugs.freedesktop.org/show_bug.cgi?id=104097
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110036 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110036
[fdo#111276]: https://bugs.freedesktop.org/show_bug.cgi?id=111276
[fdo#111277]: https://bugs.freedesktop.org/show_bug.cgi?id=111277
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (10 -> 6)
------------------------------
Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5120 -> IGTPW_3315
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_6612: c85e7a40c6feee8cb16ceee3386189fc00f48cc1 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3315: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/
IGT_5120: b3138fbea79d5d7935e53530b90efe3e816236f4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3315/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice
@ 2019-08-14 10:03 Chris Wilson
0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2019-08-14 10:03 UTC (permalink / raw
To: intel-gfx; +Cc: igt-dev
Check that we can run a second request even if an equal priority spinner
is hogging the engine.
Extend the testing with some undying timeslice behaviour that requires
hangcheck to intervene.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
tests/i915/gem_exec_schedule.c | 110 +++++++++++++++++++++++++++++++++
1 file changed, 110 insertions(+)
diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 058102103..a86a6effb 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -34,6 +34,7 @@
#include "igt_sysfs.h"
#include "igt_vgem.h"
#include "i915/gem_ring.h"
+#include "sw_sync.h"
#define LO 0
#define HI 1
@@ -1033,6 +1034,107 @@ static void preempt_queue(int fd, unsigned ring, unsigned int flags)
}
}
+static void preempt_timeslice(int i915, unsigned ring)
+{
+ const uint32_t bbe = MI_BATCH_BUFFER_END;
+ struct drm_i915_gem_exec_object2 obj = {
+ .handle = gem_create(i915, 4096)
+ };
+ struct drm_i915_gem_execbuffer2 execbuf = {
+ .buffers_ptr = to_user_pointer(&obj),
+ .buffer_count = 1,
+ .flags = ring,
+ .rsvd1 = gem_context_create(i915),
+ };
+ igt_spin_t *spin;
+
+ /*
+ * Launch a spinner to occupy the target engine, and then
+ * check we execute a ping underneath it from a second context.
+ */
+ spin = igt_spin_new(i915, .engine = ring, .flags = IGT_SPIN_POLL_RUN);
+ igt_spin_busywait_until_started(spin);
+
+ /* Both the active spinner and this are at the same priority */
+ gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe));
+ gem_execbuf(i915, &execbuf);
+ gem_sync(i915, obj.handle);
+
+ igt_assert(gem_bo_busy(i915, spin->handle));
+ igt_spin_free(i915, spin);
+
+ gem_context_destroy(i915, execbuf.rsvd1);
+ gem_close(i915, obj.handle);
+}
+
+static void preempt_timeslice_undying(int i915, unsigned ring)
+{
+ struct drm_i915_gem_exec_object2 obj = {
+ .handle = gem_create(i915, 4096)
+ };
+ struct drm_i915_gem_execbuffer2 execbuf = {
+ .buffers_ptr = to_user_pointer(&obj),
+ .buffer_count = 1,
+ .flags = ring,
+ .rsvd1 = gem_context_create(i915),
+ };
+ igt_spin_t *spin;
+
+ /*
+ * We should not allow a spinner to evade hangcheck by simply
+ * being timesliced.
+ */
+ spin = igt_spin_new(i915, .engine = ring, .flags = IGT_SPIN_POLL_RUN);
+ igt_spin_busywait_until_started(spin);
+
+ for (int i = 0; i < 120; i++) {
+ const uint32_t bbe = MI_BATCH_BUFFER_END;
+
+ if (!gem_bo_busy(i915, spin->handle))
+ break;
+
+ gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe));
+ gem_execbuf(i915, &execbuf);
+
+ usleep(500 * 1000); /* 0.5s */
+ }
+
+ igt_assert(!gem_bo_busy(i915, spin->handle));
+ igt_spin_free(i915, spin);
+
+ gem_context_destroy(i915, execbuf.rsvd1);
+ gem_close(i915, obj.handle);
+}
+
+static void preempt_antitimeslice(int i915, unsigned ring)
+{
+ uint32_t ctx[2] = { gem_context_create(i915), gem_context_create(i915) };
+ igt_spin_t *spin[2];
+
+ /*
+ * Launch two independent spinners to occupy an engine. Timeslicing
+ * should not allow them to bypass hangcheck and run indefinitely.
+ */
+ for (int i = 0; i < ARRAY_SIZE(spin); i++)
+ spin[i] = igt_spin_new(i915, ctx[i],
+ .engine = ring,
+ .flags = IGT_SPIN_FENCE_OUT);
+
+ /* Hangcheck should kill each spinner after about 10s */
+ for (int i = 0; i < ARRAY_SIZE(spin); i++) {
+ int64_t timeout = 60ull * NSEC_PER_SEC;
+ igt_assert_eq(gem_wait(i915, spin[i]->handle, &timeout), 0);
+ }
+
+ for (int i = 0; i < ARRAY_SIZE(spin); i++) {
+ igt_assert(!gem_bo_busy(i915, spin[i]->handle));
+ igt_assert_eq(sync_fence_status(spin[i]->out_fence), -EIO);
+
+ igt_spin_free(i915, spin[i]);
+ gem_context_destroy(i915, ctx[i]);
+ }
+}
+
static void preempt_self(int fd, unsigned ring)
{
uint32_t result = gem_create(fd, 4096);
@@ -1740,6 +1842,8 @@ igt_main
igt_subtest_f("preempt-queue-contexts-chain-%s", e->name)
preempt_queue(fd, e->exec_id | e->flags, CONTEXTS | CHAIN);
+ igt_subtest_f("preempt-timeslice-%s", e->name)
+ preempt_timeslice(fd, e->exec_id | e->flags);
igt_subtest_group {
igt_hang_t hang;
@@ -1755,6 +1859,12 @@ igt_main
igt_subtest_f("preemptive-hang-%s", e->name)
preemptive_hang(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-timeslice-undying-%s", e->name)
+ preempt_timeslice_undying(fd, e->exec_id | e->flags);
+
+ igt_subtest_f("preempt-antitimeslice-%s", e->name)
+ preempt_antitimeslice(fd, e->exec_id | e->flags);
+
igt_fixture {
igt_disallow_hang(fd, hang);
igt_fork_hang_detector(fd);
--
2.23.0.rc1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-08-14 10:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-02 9:58 [PATCH i-g-t] i915/gem_exec_schedule: Check timeslice Chris Wilson
2019-08-02 10:10 ` ✗ GitLab.Pipeline: warning for " Patchwork
2019-08-02 10:25 ` ✓ Fi.CI.BAT: success " Patchwork
2019-08-03 13:16 ` ✓ Fi.CI.IGT: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2019-08-14 10:03 [PATCH i-g-t] " Chris Wilson
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.