diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-07-28 14:43:22 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-07-28 15:05:11 +0100 |
commit | 5c1036200871511fea4535e2e4c1519c78fc86ac (patch) | |
tree | 0d74cd021fb77ed9bb59c17e874460c11cf806a6 /tests/gem_busy.c | |
parent | b2e8d2c46dbb014592134387281881a3fe3fd6da (diff) |
igt/gem_busy: Don't run hang tests under the hangchecker
When deliberately hanging the GPU, don't report FAIL if we detect a GPU
hang!
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97106
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/gem_busy.c')
-rw-r--r-- | tests/gem_busy.c | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/tests/gem_busy.c b/tests/gem_busy.c index 2b1c1b79..940f05e7 100644 --- a/tests/gem_busy.c +++ b/tests/gem_busy.c @@ -383,6 +383,9 @@ igt_main igt_fixture { fd = drm_open_driver_master(DRIVER_INTEL); + } + + igt_fixture { igt_fork_hang_detector(fd); } @@ -408,16 +411,6 @@ igt_main one(fd, e->exec_id, e->flags, 0); gem_quiescent_gpu(fd); } - - igt_subtest_f("hang-%s", e->name) { - gem_require_ring(fd, e->exec_id | e->flags); - igt_skip_on_f(gen == 6 && - e->exec_id == I915_EXEC_BSD, - "MI_STORE_DATA broken on gen6 bsd\n"); - gem_quiescent_gpu(fd); - one(fd, e->exec_id, e->flags, HANG); - gem_quiescent_gpu(fd); - } } for (e = intel_execution_engines; e->name; e++) { @@ -453,6 +446,34 @@ igt_main igt_fixture { igt_stop_hang_detector(); + } + + igt_subtest_group { + int gen = 0; + + igt_fixture { + gem_require_mmap_wc(fd); + gen = intel_gen(intel_get_drm_devid(fd)); + } + + for (e = intel_execution_engines; e->name; e++) { + /* default exec-id is purely symbolic */ + if (e->exec_id == 0) + continue; + + igt_subtest_f("hang-%s", e->name) { + gem_require_ring(fd, e->exec_id | e->flags); + igt_skip_on_f(gen == 6 && + e->exec_id == I915_EXEC_BSD, + "MI_STORE_DATA broken on gen6 bsd\n"); + gem_quiescent_gpu(fd); + one(fd, e->exec_id, e->flags, HANG); + gem_quiescent_gpu(fd); + } + } + } + + igt_fixture { close(fd); } } |