* [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks
@ 2020-03-26 16:41 Chris Wilson
2020-03-26 20:47 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
0 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2020-03-26 16:41 UTC (permalink / raw)
To: intel-gfx
Allow a bit of leniency for the CPU scheduler to be distracted while we
flush the tasklet and so ensure that we always check the status of the
request once more before timing out.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index 6f06ba750a0a..b8c8355b1095 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -74,20 +74,19 @@ static int wait_for_submit(struct intel_engine_cs *engine,
{
timeout += jiffies;
do {
- cond_resched();
- intel_engine_flush_submission(engine);
+ bool done = time_after(jiffies, timeout);
- if (READ_ONCE(engine->execlists.pending[0]))
- continue;
+ intel_engine_flush_submission(engine);
if (i915_request_is_active(rq))
return 0;
if (i915_request_started(rq)) /* that was quick! */
return 0;
- } while (time_before(jiffies, timeout));
- return -ETIME;
+ if (done)
+ return -ETIME;
+ } while (1);
}
static int wait_for_reset(struct intel_engine_cs *engine,
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Check timeout before flush and cond checks
2020-03-26 16:41 [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks Chris Wilson
@ 2020-03-26 20:47 ` Patchwork
0 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-03-26 20:47 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/selftests: Check timeout before flush and cond checks
URL : https://patchwork.freedesktop.org/series/75126/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_8195 -> Patchwork_17100
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_17100 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_17100, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_17100:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@execlists:
- fi-skl-lmem: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-skl-lmem/igt@i915_selftest@live@execlists.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-skl-lmem/igt@i915_selftest@live@execlists.html
- fi-skl-guc: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-skl-guc/igt@i915_selftest@live@execlists.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-skl-guc/igt@i915_selftest@live@execlists.html
- fi-cfl-guc: [PASS][5] -> [INCOMPLETE][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-cfl-guc/igt@i915_selftest@live@execlists.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-cfl-guc/igt@i915_selftest@live@execlists.html
- fi-bdw-5557u: [PASS][7] -> [INCOMPLETE][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-bdw-5557u/igt@i915_selftest@live@execlists.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-bdw-5557u/igt@i915_selftest@live@execlists.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_selftest@live@execlists:
- {fi-ehl-1}: [PASS][9] -> [INCOMPLETE][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-ehl-1/igt@i915_selftest@live@execlists.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-ehl-1/igt@i915_selftest@live@execlists.html
Known issues
------------
Here are the changes found in Patchwork_17100 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@execlists:
- fi-kbl-r: [PASS][11] -> [INCOMPLETE][12] ([fdo#112175] / [fdo#112259])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-r/igt@i915_selftest@live@execlists.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-r/igt@i915_selftest@live@execlists.html
- fi-apl-guc: [PASS][13] -> [INCOMPLETE][14] ([fdo#103927] / [fdo#112175])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-apl-guc/igt@i915_selftest@live@execlists.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-apl-guc/igt@i915_selftest@live@execlists.html
- fi-kbl-x1275: [PASS][15] -> [INCOMPLETE][16] ([fdo#112259])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-x1275/igt@i915_selftest@live@execlists.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-x1275/igt@i915_selftest@live@execlists.html
- fi-skl-6600u: [PASS][17] -> [INCOMPLETE][18] ([i915#1260])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-skl-6600u/igt@i915_selftest@live@execlists.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-skl-6600u/igt@i915_selftest@live@execlists.html
- fi-cml-s: [PASS][19] -> [INCOMPLETE][20] ([i915#283])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-cml-s/igt@i915_selftest@live@execlists.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-cml-s/igt@i915_selftest@live@execlists.html
- fi-skl-6700k2: [PASS][21] -> [INCOMPLETE][22] ([fdo#112175])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-skl-6700k2/igt@i915_selftest@live@execlists.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-skl-6700k2/igt@i915_selftest@live@execlists.html
- fi-icl-y: [PASS][23] -> [INCOMPLETE][24] ([i915#140])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-icl-y/igt@i915_selftest@live@execlists.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-icl-y/igt@i915_selftest@live@execlists.html
- fi-bxt-dsi: [PASS][25] -> [INCOMPLETE][26] ([fdo#103927])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-bxt-dsi/igt@i915_selftest@live@execlists.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-bxt-dsi/igt@i915_selftest@live@execlists.html
- fi-cml-u2: [PASS][27] -> [INCOMPLETE][28] ([fdo#112175] / [i915#283])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-cml-u2/igt@i915_selftest@live@execlists.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-cml-u2/igt@i915_selftest@live@execlists.html
- fi-kbl-guc: [PASS][29] -> [INCOMPLETE][30] ([CI#80] / [fdo#112175] / [fdo#112259])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-guc/igt@i915_selftest@live@execlists.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-guc/igt@i915_selftest@live@execlists.html
- fi-kbl-7500u: [PASS][31] -> [INCOMPLETE][32] ([fdo#112175] / [fdo#112259])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-7500u/igt@i915_selftest@live@execlists.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-7500u/igt@i915_selftest@live@execlists.html
- fi-kbl-8809g: [PASS][33] -> [INCOMPLETE][34] ([CI#80] / [fdo#112175] / [fdo#112259])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-8809g/igt@i915_selftest@live@execlists.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-8809g/igt@i915_selftest@live@execlists.html
- fi-icl-guc: [PASS][35] -> [INCOMPLETE][36] ([i915#140])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-icl-guc/igt@i915_selftest@live@execlists.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-icl-guc/igt@i915_selftest@live@execlists.html
#### Possible fixes ####
* igt@i915_selftest@live@hangcheck:
- fi-icl-u2: [INCOMPLETE][37] ([fdo#108569]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-icl-u2/igt@i915_selftest@live@hangcheck.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-icl-u2/igt@i915_selftest@live@hangcheck.html
#### Warnings ####
* igt@i915_selftest@live@execlists:
- fi-icl-dsi: [DMESG-FAIL][39] ([fdo#108569]) -> [INCOMPLETE][40] ([i915#140])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-icl-dsi/igt@i915_selftest@live@execlists.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-icl-dsi/igt@i915_selftest@live@execlists.html
* igt@runner@aborted:
- fi-kbl-8809g: [FAIL][41] ([i915#1209]) -> [FAIL][42] ([i915#1485] / [i915#656])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8195/fi-kbl-8809g/igt@runner@aborted.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/fi-kbl-8809g/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
[fdo#112175]: https://bugs.freedesktop.org/show_bug.cgi?id=112175
[fdo#112259]: https://bugs.freedesktop.org/show_bug.cgi?id=112259
[i915#1209]: https://gitlab.freedesktop.org/drm/intel/issues/1209
[i915#1260]: https://gitlab.freedesktop.org/drm/intel/issues/1260
[i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140
[i915#1485]: https://gitlab.freedesktop.org/drm/intel/issues/1485
[i915#283]: https://gitlab.freedesktop.org/drm/intel/issues/283
[i915#647]: https://gitlab.freedesktop.org/drm/intel/issues/647
[i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656
Participating hosts (49 -> 36)
------------------------------
Missing (13): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-glk-dsi fi-byt-squawks fi-bwr-2160 fi-bsw-cyan fi-ctg-p8600 fi-ivb-3770 fi-kbl-7560u fi-byt-clapper fi-bdw-samus fi-snb-2600
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_8195 -> Patchwork_17100
CI-20190529: 20190529
CI_DRM_8195: bcb3db890b651ee74ca510bbc4dacebdaa65d311 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5539: e7aae12e37771a8b7796ba252574eb832a5839c3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_17100: 2703f5dea94e21eca6b2ae84c1543c5f2d21ad45 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
2703f5dea94e drm/i915/selftests: Check timeout before flush and cond checks
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17100/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks
2020-03-30 13:48 ` Matthew Auld
@ 2020-03-30 13:51 ` Chris Wilson
0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2020-03-30 13:51 UTC (permalink / raw)
To: Matthew Auld; +Cc: Intel Graphics Development, Matthew Auld
Quoting Matthew Auld (2020-03-30 14:48:52)
> On Mon, 30 Mar 2020 at 13:17, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> >
> > Allow a bit of leniency for the CPU scheduler to be distracted while we
> > flush the tasklet and so ensure that we always check the status of the
> > request once more before timing out.
> >
> > v2: Wait until the HW acked the submit, and we do any secondary actions
> > for the submit (e.g. timeslices)
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Matthew Auld <matthew.auld@intel.com>
>
> Rejecting mails again.
> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
But now I've told the list not to remove me from the CC, so at least I'm
now getting the ml copy :(
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks
2020-03-30 12:16 [Intel-gfx] [PATCH] " Chris Wilson
2020-03-30 13:44 ` Matthew Auld
@ 2020-03-30 13:48 ` Matthew Auld
2020-03-30 13:51 ` Chris Wilson
1 sibling, 1 reply; 6+ messages in thread
From: Matthew Auld @ 2020-03-30 13:48 UTC (permalink / raw)
To: Chris Wilson; +Cc: Intel Graphics Development, Matthew Auld
On Mon, 30 Mar 2020 at 13:17, Chris Wilson <chris@chris-wilson.co.uk> wrote:
>
> Allow a bit of leniency for the CPU scheduler to be distracted while we
> flush the tasklet and so ensure that we always check the status of the
> request once more before timing out.
>
> v2: Wait until the HW acked the submit, and we do any secondary actions
> for the submit (e.g. timeslices)
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.auld@intel.com>
Rejecting mails again.
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks
2020-03-30 12:16 [Intel-gfx] [PATCH] " Chris Wilson
@ 2020-03-30 13:44 ` Matthew Auld
2020-03-30 13:48 ` Matthew Auld
1 sibling, 0 replies; 6+ messages in thread
From: Matthew Auld @ 2020-03-30 13:44 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 30/03/2020 13:16, Chris Wilson wrote:
> Allow a bit of leniency for the CPU scheduler to be distracted while we
> flush the tasklet and so ensure that we always check the status of the
> request once more before timing out.
>
> v2: Wait until the HW acked the submit, and we do any secondary actions
> for the submit (e.g. timeslices)
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks
@ 2020-03-30 12:16 Chris Wilson
2020-03-30 13:44 ` Matthew Auld
2020-03-30 13:48 ` Matthew Auld
0 siblings, 2 replies; 6+ messages in thread
From: Chris Wilson @ 2020-03-30 12:16 UTC (permalink / raw)
To: intel-gfx; +Cc: Matthew Auld, Chris Wilson
Allow a bit of leniency for the CPU scheduler to be distracted while we
flush the tasklet and so ensure that we always check the status of the
request once more before timing out.
v2: Wait until the HW acked the submit, and we do any secondary actions
for the submit (e.g. timeslices)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 30 ++++++++++++++++++--------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index 6f06ba750a0a..dd6c63a2fb96 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -68,26 +68,38 @@ static void engine_heartbeat_enable(struct intel_engine_cs *engine,
engine->props.heartbeat_interval_ms = saved;
}
+static bool is_active(struct i915_request *rq)
+{
+ if (i915_request_is_active(rq))
+ return true;
+
+ if (i915_request_on_hold(rq))
+ return true;
+
+ return false;
+}
+
static int wait_for_submit(struct intel_engine_cs *engine,
struct i915_request *rq,
unsigned long timeout)
{
timeout += jiffies;
do {
- cond_resched();
- intel_engine_flush_submission(engine);
+ bool done = time_after(jiffies, timeout);
- if (READ_ONCE(engine->execlists.pending[0]))
- continue;
-
- if (i915_request_is_active(rq))
+ if (i915_request_completed(rq)) /* that was quick! */
return 0;
- if (i915_request_started(rq)) /* that was quick! */
+ /* Wait until the HW has acknowleged the submission (or err) */
+ intel_engine_flush_submission(engine);
+ if (!READ_ONCE(engine->execlists.pending[0]) && is_active(rq))
return 0;
- } while (time_before(jiffies, timeout));
- return -ETIME;
+ if (done)
+ return -ETIME;
+
+ cond_resched();
+ } while (1);
}
static int wait_for_reset(struct intel_engine_cs *engine,
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-30 13:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26 16:41 [Intel-gfx] [PATCH] drm/i915/selftests: Check timeout before flush and cond checks Chris Wilson
2020-03-26 20:47 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2020-03-30 12:16 [Intel-gfx] [PATCH] " Chris Wilson
2020-03-30 13:44 ` Matthew Auld
2020-03-30 13:48 ` Matthew Auld
2020-03-30 13:51 ` 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.