* [Intel-gfx] [PATCH i-g-t 1/2] i915: Inject invalid CS into hanging spinners
@ 2020-01-26 13:48 ` Chris Wilson
0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-26 13:48 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
Some spinners are used with the intent of never ending and being
declared hung by the kernel. In some cases, these are being used to
simulate invalid payloads and so we can use an invalid command to
trigger a GPU hang. (Other cases, they are simulating infinite workloads
that truly never end, but we still need to be able to curtail to provide
multi-tasking). This patch adds IGT_SPIN_INVALID_CS to request the
injection of 0xdeadbeef into the command stream that should trigger a
GPU hang.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_dummyload.c | 2 ++
lib/igt_dummyload.h | 1 +
tests/i915/gem_busy.c | 3 ++-
tests/i915/gem_ctx_persistence.c | 39 +++++++++++++++++++++++++++++++-
tests/i915/gem_eio.c | 1 +
tests/i915/gem_exec_balancer.c | 4 +++-
tests/i915/gem_exec_fence.c | 3 ++-
7 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
index b7f4caca3..041122af9 100644
--- a/lib/igt_dummyload.c
+++ b/lib/igt_dummyload.c
@@ -189,6 +189,8 @@ emit_recursive_batch(igt_spin_t *spin,
/* Allow ourselves to be preempted */
if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
*cs++ = MI_ARB_CHK;
+ if (opts->flags & IGT_SPIN_INVALID_CS)
+ *cs++ = 0xdeadbeef;
/* Pad with a few nops so that we do not completely hog the system.
*
diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
index 421ca183b..cb696009f 100644
--- a/lib/igt_dummyload.h
+++ b/lib/igt_dummyload.h
@@ -62,6 +62,7 @@ struct igt_spin_factory {
#define IGT_SPIN_POLL_RUN (1 << 2)
#define IGT_SPIN_FAST (1 << 3)
#define IGT_SPIN_NO_PREEMPTION (1 << 4)
+#define IGT_SPIN_INVALID_CS (1 << 5)
igt_spin_t *
__igt_spin_factory(int fd, const struct igt_spin_factory *opts);
diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c
index 39a6714c2..2f1b04e3c 100644
--- a/tests/i915/gem_busy.c
+++ b/tests/i915/gem_busy.c
@@ -436,7 +436,8 @@ static void basic(int fd, const struct intel_execution_engine2 *e, unsigned flag
igt_spin_t *spin =
igt_spin_new(fd,
.engine = e->flags,
- .flags = IGT_SPIN_NO_PREEMPTION);
+ .flags = IGT_SPIN_NO_PREEMPTION |
+ (flags & HANG ? IGT_SPIN_INVALID_CS : 0));
struct timespec tv;
int timeout;
bool busy;
diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index d68431ae0..d48234450 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -345,6 +345,41 @@ static void test_nohangcheck_hostile(int i915)
close(dir);
}
+static void test_nohangcheck_hang(int i915)
+{
+ int64_t timeout = reset_timeout_ms * NSEC_PER_MSEC;
+ int dir;
+
+ /*
+ * Even if the user disables hangcheck during their context,
+ * we forcibly terminate that context.
+ */
+
+ dir = igt_sysfs_open_parameters(i915);
+ igt_require(dir != -1);
+
+ igt_require(__enable_hangcheck(dir, false));
+
+ for_each_physical_engine(e, i915) {
+ uint32_t ctx = gem_context_create(i915);
+ igt_spin_t *spin;
+
+ spin = igt_spin_new(i915, ctx,
+ .engine = eb_ring(e),
+ .flags = IGT_SPIN_INVALID_CS);
+ gem_context_destroy(i915, ctx);
+
+ igt_assert_eq(gem_wait(i915, spin->handle, &timeout), 0);
+
+ igt_spin_free(i915, spin);
+ }
+
+ igt_require(__enable_hangcheck(dir, true));
+
+ gem_quiescent_gpu(i915);
+ close(dir);
+}
+
static void test_nonpersistent_file(int i915)
{
int debugfs = i915;
@@ -724,8 +759,10 @@ igt_main
igt_subtest("processes")
test_processes(i915);
- igt_subtest("hangcheck")
+ igt_subtest("hostile")
test_nohangcheck_hostile(i915);
+ igt_subtest("hang")
+ test_nohangcheck_hang(i915);
__for_each_static_engine(e) {
igt_subtest_group {
diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
index b23dfecc6..aa4accc9d 100644
--- a/tests/i915/gem_eio.c
+++ b/tests/i915/gem_eio.c
@@ -187,6 +187,7 @@ static igt_spin_t * __spin_poll(int fd, uint32_t ctx, unsigned long flags)
.engine = flags,
.flags = (IGT_SPIN_FAST |
IGT_SPIN_NO_PREEMPTION |
+ IGT_SPIN_INVALID_CS |
IGT_SPIN_FENCE_OUT),
};
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index cebcc39c7..6b0c47f09 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -1654,7 +1654,9 @@ static void hangme(int i915)
set_unbannable(i915, ctx);
set_load_balancer(i915, ctx, ci, count, NULL);
- flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION;
+ flags = IGT_SPIN_FENCE_OUT |
+ IGT_SPIN_NO_PREEMPTION |
+ IGT_SPIN_INVALID_CS;
for (int j = 0; j < ARRAY_SIZE(c->spin); j++) {
c->spin[j] = igt_spin_new(i915, ctx,
.flags = flags);
diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
index 2f802eece..6d369f589 100644
--- a/tests/i915/gem_exec_fence.c
+++ b/tests/i915/gem_exec_fence.c
@@ -335,7 +335,8 @@ static void test_fence_await(int fd, unsigned ring, unsigned flags)
spin = igt_spin_new(fd,
.engine = ring,
.flags = (IGT_SPIN_FENCE_OUT |
- IGT_SPIN_NO_PREEMPTION));
+ IGT_SPIN_NO_PREEMPTION |
+ (flags & HANG ? IGT_SPIN_INVALID_CS : 0)));
igt_assert(spin->out_fence != -1);
i = 0;
--
2.25.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* [igt-dev] [PATCH i-g-t 2/2] i915_pm_rps: Be wary if RP0 == RPn
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
@ 2020-01-26 13:48 ` Chris Wilson
-1 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-26 13:48 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
If the HW min/max frequencies are the same, there is not much range to
deal with and a couple of our invalid tests become confused as they are
actually no-ops.
Error reporting in i915_pm_rps is rudimentary and we deserve better.
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1008
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/i915/i915_pm_rps.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tests/i915/i915_pm_rps.c b/tests/i915/i915_pm_rps.c
index b65eefb03..56c745a5b 100644
--- a/tests/i915/i915_pm_rps.c
+++ b/tests/i915/i915_pm_rps.c
@@ -397,9 +397,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0] + 1000);
check();
- igt_debug("\nDecrease max to RPn (invalid)...\n");
- writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
- check();
+ if (origfreqs[RPn] < origfreqs[RP0]) {
+ igt_debug("\nDecrease max to RPn (invalid)...\n");
+ writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
+ check();
+ }
igt_debug("\nDecrease min to midpoint...\n");
writeval(sysfs_files[MIN].filp, fmid);
@@ -429,9 +431,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MAX].filp, 0);
check();
- igt_debug("\nIncrease min to RP0 (invalid)...\n");
- writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
- check();
+ if (origfreqs[RP0] > origfreqs[RP0]) {
+ igt_debug("\nIncrease min to RP0 (invalid)...\n");
+ writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
+ check();
+ }
igt_debug("\nIncrease max to midpoint...\n");
writeval(sysfs_files[MAX].filp, fmid);
--
2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 15+ messages in thread* [Intel-gfx] [PATCH i-g-t 2/2] i915_pm_rps: Be wary if RP0 == RPn
@ 2020-01-26 13:48 ` Chris Wilson
0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-26 13:48 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
If the HW min/max frequencies are the same, there is not much range to
deal with and a couple of our invalid tests become confused as they are
actually no-ops.
Error reporting in i915_pm_rps is rudimentary and we deserve better.
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1008
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/i915/i915_pm_rps.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tests/i915/i915_pm_rps.c b/tests/i915/i915_pm_rps.c
index b65eefb03..56c745a5b 100644
--- a/tests/i915/i915_pm_rps.c
+++ b/tests/i915/i915_pm_rps.c
@@ -397,9 +397,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0] + 1000);
check();
- igt_debug("\nDecrease max to RPn (invalid)...\n");
- writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
- check();
+ if (origfreqs[RPn] < origfreqs[RP0]) {
+ igt_debug("\nDecrease max to RPn (invalid)...\n");
+ writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
+ check();
+ }
igt_debug("\nDecrease min to midpoint...\n");
writeval(sysfs_files[MIN].filp, fmid);
@@ -429,9 +431,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MAX].filp, 0);
check();
- igt_debug("\nIncrease min to RP0 (invalid)...\n");
- writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
- check();
+ if (origfreqs[RP0] > origfreqs[RP0]) {
+ igt_debug("\nIncrease min to RP0 (invalid)...\n");
+ writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
+ check();
+ }
igt_debug("\nIncrease max to midpoint...\n");
writeval(sysfs_files[MAX].filp, fmid);
--
2.25.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread* [igt-dev] [PATCH i-g-t v2] i915_pm_rps: Be wary if RP0 == RPn
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
@ 2020-01-27 10:02 ` Chris Wilson
-1 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-27 10:02 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
If the HW min/max frequencies are the same, there is not much range to
deal with and a couple of our invalid tests become confused as they are
actually no-ops.
Error reporting in i915_pm_rps is rudimentary and we deserve better.
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1008
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/i915/i915_pm_rps.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tests/i915/i915_pm_rps.c b/tests/i915/i915_pm_rps.c
index b65eefb03..cb1500d2f 100644
--- a/tests/i915/i915_pm_rps.c
+++ b/tests/i915/i915_pm_rps.c
@@ -397,9 +397,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0] + 1000);
check();
- igt_debug("\nDecrease max to RPn (invalid)...\n");
- writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
- check();
+ if (origfreqs[RPn] < origfreqs[RP0]) {
+ igt_debug("\nDecrease max to RPn (invalid)...\n");
+ writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
+ check();
+ }
igt_debug("\nDecrease min to midpoint...\n");
writeval(sysfs_files[MIN].filp, fmid);
@@ -429,9 +431,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MAX].filp, 0);
check();
- igt_debug("\nIncrease min to RP0 (invalid)...\n");
- writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
- check();
+ if (origfreqs[RP0] > origfreqs[RPn]) {
+ igt_debug("\nIncrease min to RP0 (invalid)...\n");
+ writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
+ check();
+ }
igt_debug("\nIncrease max to midpoint...\n");
writeval(sysfs_files[MAX].filp, fmid);
--
2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 15+ messages in thread* [Intel-gfx] [PATCH i-g-t v2] i915_pm_rps: Be wary if RP0 == RPn
@ 2020-01-27 10:02 ` Chris Wilson
0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-27 10:02 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
If the HW min/max frequencies are the same, there is not much range to
deal with and a couple of our invalid tests become confused as they are
actually no-ops.
Error reporting in i915_pm_rps is rudimentary and we deserve better.
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1008
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/i915/i915_pm_rps.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tests/i915/i915_pm_rps.c b/tests/i915/i915_pm_rps.c
index b65eefb03..cb1500d2f 100644
--- a/tests/i915/i915_pm_rps.c
+++ b/tests/i915/i915_pm_rps.c
@@ -397,9 +397,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0] + 1000);
check();
- igt_debug("\nDecrease max to RPn (invalid)...\n");
- writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
- check();
+ if (origfreqs[RPn] < origfreqs[RP0]) {
+ igt_debug("\nDecrease max to RPn (invalid)...\n");
+ writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
+ check();
+ }
igt_debug("\nDecrease min to midpoint...\n");
writeval(sysfs_files[MIN].filp, fmid);
@@ -429,9 +431,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MAX].filp, 0);
check();
- igt_debug("\nIncrease min to RP0 (invalid)...\n");
- writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
- check();
+ if (origfreqs[RP0] > origfreqs[RPn]) {
+ igt_debug("\nIncrease min to RP0 (invalid)...\n");
+ writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
+ check();
+ }
igt_debug("\nIncrease max to midpoint...\n");
writeval(sysfs_files[MAX].filp, fmid);
--
2.25.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
(?)
(?)
@ 2020-01-26 14:13 ` Patchwork
-1 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-01-26 14:13 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
URL : https://patchwork.freedesktop.org/series/72587/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7814 -> IGTPW_3996
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/index.html
Known issues
------------
Here are the changes found in IGTPW_3996 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@reload-with-fault-injection:
- fi-cfl-guc: [PASS][1] -> [DMESG-WARN][2] ([i915#889])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_selftest@live_blt:
- fi-hsw-4770: [PASS][3] -> [DMESG-FAIL][4] ([i915#553] / [i915#725])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-hsw-4770/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-hsw-4770/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gem_contexts:
- fi-byt-n2820: [PASS][5] -> [DMESG-FAIL][6] ([i915#722])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
* igt@i915_selftest@live_gt_heartbeat:
- fi-bsw-kefka: [PASS][7] -> [DMESG-FAIL][8] ([i915#541])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-bsw-kefka/igt@i915_selftest@live_gt_heartbeat.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-bsw-kefka/igt@i915_selftest@live_gt_heartbeat.html
#### Possible fixes ####
* igt@i915_module_load@reload-with-fault-injection:
- fi-kbl-x1275: [INCOMPLETE][9] ([i915#879]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_rps@basic-api:
- {fi-ehl-1}: [FAIL][11] ([i915#1008]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-ehl-1/igt@i915_pm_rps@basic-api.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-ehl-1/igt@i915_pm_rps@basic-api.html
* igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy: [DMESG-WARN][13] ([i915#44]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
#### Warnings ####
* igt@gem_exec_parallel@contexts:
- fi-byt-n2820: [TIMEOUT][15] ([fdo#112271]) -> [FAIL][16] ([i915#694])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#1008]: https://gitlab.freedesktop.org/drm/intel/issues/1008
[i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44
[i915#541]: https://gitlab.freedesktop.org/drm/intel/issues/541
[i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
[i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
[i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#879]: https://gitlab.freedesktop.org/drm/intel/issues/879
[i915#889]: https://gitlab.freedesktop.org/drm/intel/issues/889
Participating hosts (44 -> 37)
------------------------------
Additional (4): fi-bdw-gvtdvm fi-kbl-r fi-kbl-7500u fi-snb-2600
Missing (11): fi-bdw-5557u fi-bsw-n3050 fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-ivb-3770 fi-skl-lmem fi-bdw-samus fi-byt-clapper fi-skl-6600u
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5384 -> IGTPW_3996
CI-20190529: 20190529
CI_DRM_7814: bc626bbb5b6efa3fb6a90407e85a04ae64461db6 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3996: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/index.html
IGT_5384: fd6896567f7d612c76207970376d4f1e634ded55 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@gem_ctx_persistence@hang
+igt@gem_ctx_persistence@hostile
-igt@gem_ctx_persistence@hangcheck
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
` (2 preceding siblings ...)
(?)
@ 2020-01-27 9:19 ` Patchwork
-1 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-01-27 9:19 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
URL : https://patchwork.freedesktop.org/series/72587/
State : failure
== Summary ==
ERROR! This series introduces new undocumented tests:
gem_ctx_persistence@hang
gem_ctx_persistence@hostile
Can you document them as per the requirement in the [CONTRIBUTING.md]?
[Documentation] has more details on how to do this.
Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
Thanks in advance!
[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
Other than that, pipeline status: SUCCESS.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/101567 for the overview.
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/101567
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners (rev2)
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
` (3 preceding siblings ...)
(?)
@ 2020-01-27 12:00 ` Patchwork
-1 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-01-27 12:00 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners (rev2)
URL : https://patchwork.freedesktop.org/series/72587/
State : failure
== Summary ==
ERROR! This series introduces new undocumented tests:
gem_ctx_persistence@hang
gem_ctx_persistence@hostile
Can you document them as per the requirement in the [CONTRIBUTING.md]?
[Documentation] has more details on how to do this.
Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
Thanks in advance!
[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
Other than that, pipeline status: SUCCESS.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/101737 for the overview.
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/101737
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners (rev2)
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
` (4 preceding siblings ...)
(?)
@ 2020-01-27 14:42 ` Patchwork
-1 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-01-27 14:42 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners (rev2)
URL : https://patchwork.freedesktop.org/series/72587/
State : failure
== Summary ==
CI Bug Log - changes from IGT_5387 -> IGTPW_4002
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_4002 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_4002, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4002:
### IGT changes ###
#### Possible regressions ####
* igt@gem_close_race@basic-threads:
- fi-hsw-peppy: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5387/fi-hsw-peppy/igt@gem_close_race@basic-threads.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/fi-hsw-peppy/igt@gem_close_race@basic-threads.html
Known issues
------------
Here are the changes found in IGTPW_4002 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_blt:
- fi-hsw-4770: [PASS][3] -> [DMESG-FAIL][4] ([i915#770])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5387/fi-hsw-4770/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/fi-hsw-4770/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gem_contexts:
- fi-byt-n2820: [PASS][5] -> [DMESG-FAIL][6] ([i915#722])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5387/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
#### Warnings ####
* igt@i915_selftest@live_blt:
- fi-hsw-4770r: [DMESG-FAIL][7] ([i915#553] / [i915#725]) -> [DMESG-FAIL][8] ([i915#725])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5387/fi-hsw-4770r/igt@i915_selftest@live_blt.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/fi-hsw-4770r/igt@i915_selftest@live_blt.html
[i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
[i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#770]: https://gitlab.freedesktop.org/drm/intel/issues/770
Participating hosts (49 -> 44)
------------------------------
Additional (1): fi-apl-guc
Missing (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5387 -> IGTPW_4002
CI-20190529: 20190529
CI_DRM_7816: 713d2a22a63ee93c0afea9a83c332f52ef90e91a @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4002: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/index.html
IGT_5387: 2e04a36cb5eba1a979bce80b58c35687f324f066 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@gem_ctx_persistence@hang
+igt@gem_ctx_persistence@hostile
-igt@gem_ctx_persistence@hangcheck
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4002/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
` (5 preceding siblings ...)
(?)
@ 2020-01-27 19:53 ` Patchwork
-1 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-01-27 19:53 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] i915: Inject invalid CS into hanging spinners
URL : https://patchwork.freedesktop.org/series/72587/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7814_full -> IGTPW_3996_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_3996_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_3996_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3996_full:
### IGT changes ###
#### Possible regressions ####
* {igt@gem_ctx_persistence@hang} (NEW):
- shard-kbl: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl4/igt@gem_ctx_persistence@hang.html
* igt@gem_exec_schedule@reorder-wide-vebox:
- shard-kbl: [PASS][2] -> [FAIL][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl4/igt@gem_exec_schedule@reorder-wide-vebox.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl4/igt@gem_exec_schedule@reorder-wide-vebox.html
* igt@prime_mmap_coherency@read:
- shard-hsw: [PASS][4] -> [FAIL][5] +2 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw6/igt@prime_mmap_coherency@read.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw8/igt@prime_mmap_coherency@read.html
New tests
---------
New tests have been introduced between CI_DRM_7814_full and IGTPW_3996_full:
### New IGT tests (2) ###
* igt@gem_ctx_persistence@hang:
- Statuses : 1 fail(s) 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.04] s
* igt@gem_ctx_persistence@hostile:
- Statuses : 5 pass(s) 2 skip(s)
- Exec time: [0.0, 0.06] s
Known issues
------------
Here are the changes found in IGTPW_3996_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_persistence@vcs1-mixed-process:
- shard-iclb: [PASS][6] -> [SKIP][7] ([fdo#109276] / [fdo#112080]) +5 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb2/igt@gem_ctx_persistence@vcs1-mixed-process.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb3/igt@gem_ctx_persistence@vcs1-mixed-process.html
* igt@gem_eio@in-flight-10ms:
- shard-kbl: [PASS][8] -> [TIMEOUT][9] ([fdo#112271]) +8 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl3/igt@gem_eio@in-flight-10ms.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl7/igt@gem_eio@in-flight-10ms.html
- shard-snb: [PASS][10] -> [INCOMPLETE][11] ([i915#82]) +5 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb5/igt@gem_eio@in-flight-10ms.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb2/igt@gem_eio@in-flight-10ms.html
* igt@gem_eio@kms:
- shard-apl: [PASS][12] -> [INCOMPLETE][13] ([CI#80] / [fdo#103927])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-apl2/igt@gem_eio@kms.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-apl6/igt@gem_eio@kms.html
- shard-glk: [PASS][14] -> [INCOMPLETE][15] ([CI#80] / [i915#58] / [k.org#198133]) +1 similar issue
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-glk2/igt@gem_eio@kms.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-glk2/igt@gem_eio@kms.html
* igt@gem_eio@unwedge-stress:
- shard-glk: [PASS][16] -> [TIMEOUT][17] ([fdo#112271]) +6 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-glk7/igt@gem_eio@unwedge-stress.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-glk4/igt@gem_eio@unwedge-stress.html
- shard-apl: [PASS][18] -> [TIMEOUT][19] ([fdo#112271]) +7 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-apl1/igt@gem_eio@unwedge-stress.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-apl8/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_parallel@vcs1:
- shard-iclb: [PASS][20] -> [SKIP][21] ([fdo#112080]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb2/igt@gem_exec_parallel@vcs1.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb5/igt@gem_exec_parallel@vcs1.html
* igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: [PASS][22] -> [SKIP][23] ([fdo#112146]) +4 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb8/igt@gem_exec_schedule@reorder-wide-bsd.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb2/igt@gem_exec_schedule@reorder-wide-bsd.html
* igt@gem_mmap_wc@close:
- shard-tglb: [PASS][24] -> [INCOMPLETE][25] ([i915#472])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-tglb2/igt@gem_mmap_wc@close.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-tglb6/igt@gem_mmap_wc@close.html
* igt@gem_persistent_relocs@forked:
- shard-snb: [PASS][26] -> [DMESG-WARN][27] ([i915#478])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb1/igt@gem_persistent_relocs@forked.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb5/igt@gem_persistent_relocs@forked.html
* igt@i915_pm_dc@dc5-dpms:
- shard-iclb: [PASS][28] -> [FAIL][29] ([i915#447])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb6/igt@i915_pm_dc@dc5-dpms.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html
* igt@i915_pm_rps@reset:
- shard-iclb: [PASS][30] -> [FAIL][31] ([i915#413])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb1/igt@i915_pm_rps@reset.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb7/igt@i915_pm_rps@reset.html
* igt@i915_selftest@live_blt:
- shard-hsw: [PASS][32] -> [DMESG-FAIL][33] ([i915#725])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw5/igt@i915_selftest@live_blt.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw4/igt@i915_selftest@live_blt.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [PASS][34] -> [DMESG-WARN][35] ([i915#180])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-apl8/igt@i915_suspend@fence-restore-tiled2untiled.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-apl4/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [PASS][36] -> [DMESG-WARN][37] ([i915#180]) +5 similar issues
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-snb: [PASS][38] -> [SKIP][39] ([fdo#109271]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-glk: [PASS][40] -> [FAIL][41] ([i915#34])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-glk5/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-glk8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_plane_cursor@pipe-c-overlay-size-64:
- shard-hsw: [PASS][42] -> [DMESG-FAIL][43] ([i915#44])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw5/igt@kms_plane_cursor@pipe-c-overlay-size-64.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw5/igt@kms_plane_cursor@pipe-c-overlay-size-64.html
* igt@kms_psr@cursor_render:
- shard-tglb: [PASS][44] -> [SKIP][45] ([i915#668]) +1 similar issue
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-tglb2/igt@kms_psr@cursor_render.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-tglb5/igt@kms_psr@cursor_render.html
* igt@kms_psr@no_drrs:
- shard-iclb: [PASS][46] -> [FAIL][47] ([i915#173])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb6/igt@kms_psr@no_drrs.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb1/igt@kms_psr@no_drrs.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][48] -> [SKIP][49] ([fdo#109441]) +2 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_vblank@pipe-b-query-idle-hang:
- shard-kbl: [PASS][50] -> [SKIP][51] ([fdo#109271])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl7/igt@kms_vblank@pipe-b-query-idle-hang.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl4/igt@kms_vblank@pipe-b-query-idle-hang.html
* igt@perf_pmu@cpu-hotplug:
- shard-hsw: [PASS][52] -> [INCOMPLETE][53] ([i915#61])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw4/igt@perf_pmu@cpu-hotplug.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw4/igt@perf_pmu@cpu-hotplug.html
* igt@prime_busy@hang-bsd2:
- shard-iclb: [PASS][54] -> [SKIP][55] ([fdo#109276]) +19 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb2/igt@prime_busy@hang-bsd2.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb3/igt@prime_busy@hang-bsd2.html
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs1-none:
- shard-iclb: [SKIP][56] ([fdo#109276] / [fdo#112080]) -> [PASS][57] +2 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb6/igt@gem_ctx_isolation@vcs1-none.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb2/igt@gem_ctx_isolation@vcs1-none.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [SKIP][58] ([fdo#110841]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][60] ([fdo#110854]) -> [PASS][61]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb7/igt@gem_exec_balancer@smoke.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb4/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [SKIP][62] ([fdo#112146]) -> [PASS][63] +2 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb6/igt@gem_exec_schedule@preemptive-hang-bsd.html
* igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [SKIP][64] ([fdo#109276]) -> [PASS][65] +16 similar issues
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb7/igt@gem_exec_schedule@promotion-bsd1.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb1/igt@gem_exec_schedule@promotion-bsd1.html
* igt@gem_exec_whisper@normal:
- shard-glk: [DMESG-WARN][66] ([i915#118] / [i915#95]) -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-glk2/igt@gem_exec_whisper@normal.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-glk2/igt@gem_exec_whisper@normal.html
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-kbl: [FAIL][68] ([i915#644]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl1/igt@gem_ppgtt@flink-and-close-vma-leak.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl1/igt@gem_ppgtt@flink-and-close-vma-leak.html
* igt@gem_tiled_partial_pwrite_pread@reads:
- shard-hsw: [FAIL][70] -> [PASS][71] +1 similar issue
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw2/igt@gem_tiled_partial_pwrite_pread@reads.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw2/igt@gem_tiled_partial_pwrite_pread@reads.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-snb: [DMESG-WARN][72] ([fdo#111870] / [i915#478]) -> [PASS][73] +1 similar issue
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb2/igt@gem_userptr_blits@dmabuf-sync.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb5/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gen7_exec_parse@basic-offset:
- shard-hsw: [FAIL][74] ([i915#694]) -> [PASS][75]
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw4/igt@gen7_exec_parse@basic-offset.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw2/igt@gen7_exec_parse@basic-offset.html
* igt@i915_pm_rps@waitboost:
- shard-iclb: [FAIL][76] ([i915#413]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb7/igt@i915_pm_rps@waitboost.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb6/igt@i915_pm_rps@waitboost.html
* igt@i915_suspend@sysfs-reader:
- shard-apl: [DMESG-WARN][78] ([i915#180]) -> [PASS][79] +3 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-apl1/igt@i915_suspend@sysfs-reader.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-apl3/igt@i915_suspend@sysfs-reader.html
* igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen:
- shard-kbl: [FAIL][80] ([i915#54]) -> [PASS][81]
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html
- shard-apl: [FAIL][82] ([i915#54]) -> [PASS][83]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-apl1/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-hsw: [INCOMPLETE][84] ([i915#61]) -> [PASS][85]
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw6/igt@kms_flip@flip-vs-suspend-interruptible.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw1/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl: [DMESG-WARN][86] ([i915#180]) -> [PASS][87] +4 similar issues
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-iclb: [INCOMPLETE][88] ([i915#140] / [i915#250]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [SKIP][90] ([fdo#109642] / [fdo#111068]) -> [PASS][91]
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb4/igt@kms_psr2_su@frontbuffer.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_dpms:
- shard-iclb: [SKIP][92] ([fdo#109441]) -> [PASS][93] +2 similar issues
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb7/igt@kms_psr@psr2_dpms.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb2/igt@kms_psr@psr2_dpms.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-kbl: [INCOMPLETE][94] ([fdo#103665]) -> [PASS][95]
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-kbl2/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-kbl7/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
* igt@perf_pmu@busy-vcs1:
- shard-iclb: [SKIP][96] ([fdo#112080]) -> [PASS][97] +13 similar issues
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb7/igt@perf_pmu@busy-vcs1.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb4/igt@perf_pmu@busy-vcs1.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [SKIP][98] ([fdo#109276] / [fdo#112080]) -> [FAIL][99] ([IGT#28])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_tiled_blits@normal:
- shard-hsw: [FAIL][100] ([i915#694]) -> [FAIL][101] ([i915#818])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-hsw5/igt@gem_tiled_blits@normal.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-hsw5/igt@gem_tiled_blits@normal.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
- shard-snb: [DMESG-WARN][102] ([fdo#111870] / [i915#478]) -> [DMESG-WARN][103] ([fdo#110789] / [fdo#111870] / [i915#478])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
* igt@gem_userptr_blits@sync-unmap-cycles:
- shard-snb: [DMESG-WARN][104] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [DMESG-WARN][105] ([fdo#111870] / [i915#478])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7814/shard-snb2/igt@gem_userptr_blits@sync-unmap-cycles.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/shard-snb4/igt@gem_userptr_blits@sync-unmap-cycles.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
[IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140
[i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#250]: https://gitlab.freedesktop.org/drm/intel/issues/250
[i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
[i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
[i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44
[i915#447]: https://gitlab.freedesktop.org/drm/intel/issues/447
[i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
[i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
[i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
[i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
[i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668
[i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5384 -> IGTPW_3996
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_7814: bc626bbb5b6efa3fb6a90407e85a04ae64461db6 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3996: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3996/index.html
IGT_5384: fd6896567f7d612c76207970376d4f1e634ded55 @ 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_3996/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 1/2] i915: Inject invalid CS into hanging spinners
2020-01-26 13:48 ` [Intel-gfx] " Chris Wilson
@ 2020-01-28 9:59 ` Mika Kuoppala
-1 siblings, 0 replies; 15+ messages in thread
From: Mika Kuoppala @ 2020-01-28 9:59 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
Chris Wilson <chris@chris-wilson.co.uk> writes:
> Some spinners are used with the intent of never ending and being
> declared hung by the kernel. In some cases, these are being used to
> simulate invalid payloads and so we can use an invalid command to
> trigger a GPU hang. (Other cases, they are simulating infinite workloads
> that truly never end, but we still need to be able to curtail to provide
> multi-tasking). This patch adds IGT_SPIN_INVALID_CS to request the
> injection of 0xdeadbeef into the command stream that should trigger a
> GPU hang.
Ok so you want to differentiate between a never ending
and invalid payload as a separate. And also quicken the
resolve.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> lib/igt_dummyload.c | 2 ++
> lib/igt_dummyload.h | 1 +
> tests/i915/gem_busy.c | 3 ++-
> tests/i915/gem_ctx_persistence.c | 39 +++++++++++++++++++++++++++++++-
> tests/i915/gem_eio.c | 1 +
> tests/i915/gem_exec_balancer.c | 4 +++-
> tests/i915/gem_exec_fence.c | 3 ++-
> 7 files changed, 49 insertions(+), 4 deletions(-)
>
> diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
> index b7f4caca3..041122af9 100644
> --- a/lib/igt_dummyload.c
> +++ b/lib/igt_dummyload.c
> @@ -189,6 +189,8 @@ emit_recursive_batch(igt_spin_t *spin,
> /* Allow ourselves to be preempted */
> if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
> *cs++ = MI_ARB_CHK;
> + if (opts->flags & IGT_SPIN_INVALID_CS)
> + *cs++ = 0xdeadbeef;
Some cmd streamers might just ignore this but lets
see how it goes.
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>
> /* Pad with a few nops so that we do not completely hog the system.
> *
> diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
> index 421ca183b..cb696009f 100644
> --- a/lib/igt_dummyload.h
> +++ b/lib/igt_dummyload.h
> @@ -62,6 +62,7 @@ struct igt_spin_factory {
> #define IGT_SPIN_POLL_RUN (1 << 2)
> #define IGT_SPIN_FAST (1 << 3)
> #define IGT_SPIN_NO_PREEMPTION (1 << 4)
> +#define IGT_SPIN_INVALID_CS (1 << 5)
>
> igt_spin_t *
> __igt_spin_factory(int fd, const struct igt_spin_factory *opts);
> diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c
> index 39a6714c2..2f1b04e3c 100644
> --- a/tests/i915/gem_busy.c
> +++ b/tests/i915/gem_busy.c
> @@ -436,7 +436,8 @@ static void basic(int fd, const struct intel_execution_engine2 *e, unsigned flag
> igt_spin_t *spin =
> igt_spin_new(fd,
> .engine = e->flags,
> - .flags = IGT_SPIN_NO_PREEMPTION);
> + .flags = IGT_SPIN_NO_PREEMPTION |
> + (flags & HANG ? IGT_SPIN_INVALID_CS : 0));
> struct timespec tv;
> int timeout;
> bool busy;
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index d68431ae0..d48234450 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -345,6 +345,41 @@ static void test_nohangcheck_hostile(int i915)
> close(dir);
> }
>
> +static void test_nohangcheck_hang(int i915)
> +{
> + int64_t timeout = reset_timeout_ms * NSEC_PER_MSEC;
> + int dir;
> +
> + /*
> + * Even if the user disables hangcheck during their context,
> + * we forcibly terminate that context.
> + */
> +
> + dir = igt_sysfs_open_parameters(i915);
> + igt_require(dir != -1);
> +
> + igt_require(__enable_hangcheck(dir, false));
> +
> + for_each_physical_engine(e, i915) {
> + uint32_t ctx = gem_context_create(i915);
> + igt_spin_t *spin;
> +
> + spin = igt_spin_new(i915, ctx,
> + .engine = eb_ring(e),
> + .flags = IGT_SPIN_INVALID_CS);
> + gem_context_destroy(i915, ctx);
> +
> + igt_assert_eq(gem_wait(i915, spin->handle, &timeout), 0);
> +
> + igt_spin_free(i915, spin);
> + }
> +
> + igt_require(__enable_hangcheck(dir, true));
> +
> + gem_quiescent_gpu(i915);
> + close(dir);
> +}
> +
> static void test_nonpersistent_file(int i915)
> {
> int debugfs = i915;
> @@ -724,8 +759,10 @@ igt_main
> igt_subtest("processes")
> test_processes(i915);
>
> - igt_subtest("hangcheck")
> + igt_subtest("hostile")
> test_nohangcheck_hostile(i915);
> + igt_subtest("hang")
> + test_nohangcheck_hang(i915);
>
> __for_each_static_engine(e) {
> igt_subtest_group {
> diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
> index b23dfecc6..aa4accc9d 100644
> --- a/tests/i915/gem_eio.c
> +++ b/tests/i915/gem_eio.c
> @@ -187,6 +187,7 @@ static igt_spin_t * __spin_poll(int fd, uint32_t ctx, unsigned long flags)
> .engine = flags,
> .flags = (IGT_SPIN_FAST |
> IGT_SPIN_NO_PREEMPTION |
> + IGT_SPIN_INVALID_CS |
> IGT_SPIN_FENCE_OUT),
> };
>
> diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
> index cebcc39c7..6b0c47f09 100644
> --- a/tests/i915/gem_exec_balancer.c
> +++ b/tests/i915/gem_exec_balancer.c
> @@ -1654,7 +1654,9 @@ static void hangme(int i915)
> set_unbannable(i915, ctx);
> set_load_balancer(i915, ctx, ci, count, NULL);
>
> - flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION;
> + flags = IGT_SPIN_FENCE_OUT |
> + IGT_SPIN_NO_PREEMPTION |
> + IGT_SPIN_INVALID_CS;
> for (int j = 0; j < ARRAY_SIZE(c->spin); j++) {
> c->spin[j] = igt_spin_new(i915, ctx,
> .flags = flags);
> diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
> index 2f802eece..6d369f589 100644
> --- a/tests/i915/gem_exec_fence.c
> +++ b/tests/i915/gem_exec_fence.c
> @@ -335,7 +335,8 @@ static void test_fence_await(int fd, unsigned ring, unsigned flags)
> spin = igt_spin_new(fd,
> .engine = ring,
> .flags = (IGT_SPIN_FENCE_OUT |
> - IGT_SPIN_NO_PREEMPTION));
> + IGT_SPIN_NO_PREEMPTION |
> + (flags & HANG ? IGT_SPIN_INVALID_CS : 0)));
> igt_assert(spin->out_fence != -1);
>
> i = 0;
> --
> 2.25.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [Intel-gfx] [PATCH i-g-t 1/2] i915: Inject invalid CS into hanging spinners
@ 2020-01-28 9:59 ` Mika Kuoppala
0 siblings, 0 replies; 15+ messages in thread
From: Mika Kuoppala @ 2020-01-28 9:59 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
Chris Wilson <chris@chris-wilson.co.uk> writes:
> Some spinners are used with the intent of never ending and being
> declared hung by the kernel. In some cases, these are being used to
> simulate invalid payloads and so we can use an invalid command to
> trigger a GPU hang. (Other cases, they are simulating infinite workloads
> that truly never end, but we still need to be able to curtail to provide
> multi-tasking). This patch adds IGT_SPIN_INVALID_CS to request the
> injection of 0xdeadbeef into the command stream that should trigger a
> GPU hang.
Ok so you want to differentiate between a never ending
and invalid payload as a separate. And also quicken the
resolve.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> lib/igt_dummyload.c | 2 ++
> lib/igt_dummyload.h | 1 +
> tests/i915/gem_busy.c | 3 ++-
> tests/i915/gem_ctx_persistence.c | 39 +++++++++++++++++++++++++++++++-
> tests/i915/gem_eio.c | 1 +
> tests/i915/gem_exec_balancer.c | 4 +++-
> tests/i915/gem_exec_fence.c | 3 ++-
> 7 files changed, 49 insertions(+), 4 deletions(-)
>
> diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
> index b7f4caca3..041122af9 100644
> --- a/lib/igt_dummyload.c
> +++ b/lib/igt_dummyload.c
> @@ -189,6 +189,8 @@ emit_recursive_batch(igt_spin_t *spin,
> /* Allow ourselves to be preempted */
> if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
> *cs++ = MI_ARB_CHK;
> + if (opts->flags & IGT_SPIN_INVALID_CS)
> + *cs++ = 0xdeadbeef;
Some cmd streamers might just ignore this but lets
see how it goes.
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>
> /* Pad with a few nops so that we do not completely hog the system.
> *
> diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
> index 421ca183b..cb696009f 100644
> --- a/lib/igt_dummyload.h
> +++ b/lib/igt_dummyload.h
> @@ -62,6 +62,7 @@ struct igt_spin_factory {
> #define IGT_SPIN_POLL_RUN (1 << 2)
> #define IGT_SPIN_FAST (1 << 3)
> #define IGT_SPIN_NO_PREEMPTION (1 << 4)
> +#define IGT_SPIN_INVALID_CS (1 << 5)
>
> igt_spin_t *
> __igt_spin_factory(int fd, const struct igt_spin_factory *opts);
> diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c
> index 39a6714c2..2f1b04e3c 100644
> --- a/tests/i915/gem_busy.c
> +++ b/tests/i915/gem_busy.c
> @@ -436,7 +436,8 @@ static void basic(int fd, const struct intel_execution_engine2 *e, unsigned flag
> igt_spin_t *spin =
> igt_spin_new(fd,
> .engine = e->flags,
> - .flags = IGT_SPIN_NO_PREEMPTION);
> + .flags = IGT_SPIN_NO_PREEMPTION |
> + (flags & HANG ? IGT_SPIN_INVALID_CS : 0));
> struct timespec tv;
> int timeout;
> bool busy;
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index d68431ae0..d48234450 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -345,6 +345,41 @@ static void test_nohangcheck_hostile(int i915)
> close(dir);
> }
>
> +static void test_nohangcheck_hang(int i915)
> +{
> + int64_t timeout = reset_timeout_ms * NSEC_PER_MSEC;
> + int dir;
> +
> + /*
> + * Even if the user disables hangcheck during their context,
> + * we forcibly terminate that context.
> + */
> +
> + dir = igt_sysfs_open_parameters(i915);
> + igt_require(dir != -1);
> +
> + igt_require(__enable_hangcheck(dir, false));
> +
> + for_each_physical_engine(e, i915) {
> + uint32_t ctx = gem_context_create(i915);
> + igt_spin_t *spin;
> +
> + spin = igt_spin_new(i915, ctx,
> + .engine = eb_ring(e),
> + .flags = IGT_SPIN_INVALID_CS);
> + gem_context_destroy(i915, ctx);
> +
> + igt_assert_eq(gem_wait(i915, spin->handle, &timeout), 0);
> +
> + igt_spin_free(i915, spin);
> + }
> +
> + igt_require(__enable_hangcheck(dir, true));
> +
> + gem_quiescent_gpu(i915);
> + close(dir);
> +}
> +
> static void test_nonpersistent_file(int i915)
> {
> int debugfs = i915;
> @@ -724,8 +759,10 @@ igt_main
> igt_subtest("processes")
> test_processes(i915);
>
> - igt_subtest("hangcheck")
> + igt_subtest("hostile")
> test_nohangcheck_hostile(i915);
> + igt_subtest("hang")
> + test_nohangcheck_hang(i915);
>
> __for_each_static_engine(e) {
> igt_subtest_group {
> diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
> index b23dfecc6..aa4accc9d 100644
> --- a/tests/i915/gem_eio.c
> +++ b/tests/i915/gem_eio.c
> @@ -187,6 +187,7 @@ static igt_spin_t * __spin_poll(int fd, uint32_t ctx, unsigned long flags)
> .engine = flags,
> .flags = (IGT_SPIN_FAST |
> IGT_SPIN_NO_PREEMPTION |
> + IGT_SPIN_INVALID_CS |
> IGT_SPIN_FENCE_OUT),
> };
>
> diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
> index cebcc39c7..6b0c47f09 100644
> --- a/tests/i915/gem_exec_balancer.c
> +++ b/tests/i915/gem_exec_balancer.c
> @@ -1654,7 +1654,9 @@ static void hangme(int i915)
> set_unbannable(i915, ctx);
> set_load_balancer(i915, ctx, ci, count, NULL);
>
> - flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_NO_PREEMPTION;
> + flags = IGT_SPIN_FENCE_OUT |
> + IGT_SPIN_NO_PREEMPTION |
> + IGT_SPIN_INVALID_CS;
> for (int j = 0; j < ARRAY_SIZE(c->spin); j++) {
> c->spin[j] = igt_spin_new(i915, ctx,
> .flags = flags);
> diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
> index 2f802eece..6d369f589 100644
> --- a/tests/i915/gem_exec_fence.c
> +++ b/tests/i915/gem_exec_fence.c
> @@ -335,7 +335,8 @@ static void test_fence_await(int fd, unsigned ring, unsigned flags)
> spin = igt_spin_new(fd,
> .engine = ring,
> .flags = (IGT_SPIN_FENCE_OUT |
> - IGT_SPIN_NO_PREEMPTION));
> + IGT_SPIN_NO_PREEMPTION |
> + (flags & HANG ? IGT_SPIN_INVALID_CS : 0)));
> igt_assert(spin->out_fence != -1);
>
> i = 0;
> --
> 2.25.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 1/2] i915: Inject invalid CS into hanging spinners
2020-01-28 9:59 ` Mika Kuoppala
@ 2020-01-28 10:05 ` Chris Wilson
-1 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-28 10:05 UTC (permalink / raw)
To: Mika Kuoppala, intel-gfx; +Cc: igt-dev
Quoting Mika Kuoppala (2020-01-28 09:59:23)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
>
> > Some spinners are used with the intent of never ending and being
> > declared hung by the kernel. In some cases, these are being used to
> > simulate invalid payloads and so we can use an invalid command to
> > trigger a GPU hang. (Other cases, they are simulating infinite workloads
> > that truly never end, but we still need to be able to curtail to provide
> > multi-tasking). This patch adds IGT_SPIN_INVALID_CS to request the
> > injection of 0xdeadbeef into the command stream that should trigger a
> > GPU hang.
>
> Ok so you want to differentiate between a never ending
> and invalid payload as a separate. And also quicken the
> resolve.
>
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> > lib/igt_dummyload.c | 2 ++
> > lib/igt_dummyload.h | 1 +
> > tests/i915/gem_busy.c | 3 ++-
> > tests/i915/gem_ctx_persistence.c | 39 +++++++++++++++++++++++++++++++-
> > tests/i915/gem_eio.c | 1 +
> > tests/i915/gem_exec_balancer.c | 4 +++-
> > tests/i915/gem_exec_fence.c | 3 ++-
> > 7 files changed, 49 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
> > index b7f4caca3..041122af9 100644
> > --- a/lib/igt_dummyload.c
> > +++ b/lib/igt_dummyload.c
> > @@ -189,6 +189,8 @@ emit_recursive_batch(igt_spin_t *spin,
> > /* Allow ourselves to be preempted */
> > if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
> > *cs++ = MI_ARB_CHK;
> > + if (opts->flags & IGT_SPIN_INVALID_CS)
> > + *cs++ = 0xdeadbeef;
>
> Some cmd streamers might just ignore this but lets
> see how it goes.
See the selftest in
https://patchwork.freedesktop.org/patch/350890/?series=72639&rev=1
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Intel-gfx] [PATCH i-g-t 1/2] i915: Inject invalid CS into hanging spinners
@ 2020-01-28 10:05 ` Chris Wilson
0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-01-28 10:05 UTC (permalink / raw)
To: Mika Kuoppala, intel-gfx; +Cc: igt-dev
Quoting Mika Kuoppala (2020-01-28 09:59:23)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
>
> > Some spinners are used with the intent of never ending and being
> > declared hung by the kernel. In some cases, these are being used to
> > simulate invalid payloads and so we can use an invalid command to
> > trigger a GPU hang. (Other cases, they are simulating infinite workloads
> > that truly never end, but we still need to be able to curtail to provide
> > multi-tasking). This patch adds IGT_SPIN_INVALID_CS to request the
> > injection of 0xdeadbeef into the command stream that should trigger a
> > GPU hang.
>
> Ok so you want to differentiate between a never ending
> and invalid payload as a separate. And also quicken the
> resolve.
>
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> > lib/igt_dummyload.c | 2 ++
> > lib/igt_dummyload.h | 1 +
> > tests/i915/gem_busy.c | 3 ++-
> > tests/i915/gem_ctx_persistence.c | 39 +++++++++++++++++++++++++++++++-
> > tests/i915/gem_eio.c | 1 +
> > tests/i915/gem_exec_balancer.c | 4 +++-
> > tests/i915/gem_exec_fence.c | 3 ++-
> > 7 files changed, 49 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
> > index b7f4caca3..041122af9 100644
> > --- a/lib/igt_dummyload.c
> > +++ b/lib/igt_dummyload.c
> > @@ -189,6 +189,8 @@ emit_recursive_batch(igt_spin_t *spin,
> > /* Allow ourselves to be preempted */
> > if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
> > *cs++ = MI_ARB_CHK;
> > + if (opts->flags & IGT_SPIN_INVALID_CS)
> > + *cs++ = 0xdeadbeef;
>
> Some cmd streamers might just ignore this but lets
> see how it goes.
See the selftest in
https://patchwork.freedesktop.org/patch/350890/?series=72639&rev=1
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread