When using a spinner to trigger a hang, make it unpreemptable so that it appears like a true hang. References: https://bugs.freedesktop.org/show_bug.cgi?id=109661 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- tests/i915/gem_eio.c | 4 +++- tests/i915/gem_exec_fence.c | 3 ++- tests/kms_busy.c | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c index 9b086a039..a783b7bff 100644 --- a/tests/i915/gem_eio.c +++ b/tests/i915/gem_eio.c @@ -176,7 +176,9 @@ static igt_spin_t * __spin_poll(int fd, uint32_t ctx, unsigned long flags) struct igt_spin_factory opts = { .ctx = ctx, .engine = flags, - .flags = IGT_SPIN_FAST | IGT_SPIN_FENCE_OUT, + .flags = (IGT_SPIN_FAST | + IGT_SPIN_NO_PREEMPTION | + IGT_SPIN_FENCE_OUT), }; if (gem_can_store_dword(fd, opts.engine)) diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c index 207182922..2f04d7af4 100644 --- a/tests/i915/gem_exec_fence.c +++ b/tests/i915/gem_exec_fence.c @@ -331,7 +331,8 @@ static void test_fence_await(int fd, unsigned ring, unsigned flags) spin = igt_spin_new(fd, .engine = ring, - .flags = IGT_SPIN_FENCE_OUT); + .flags = (IGT_SPIN_FENCE_OUT | + IGT_SPIN_NO_PREEMPTION)); igt_assert(spin->out_fence != -1); i = 0; diff --git a/tests/kms_busy.c b/tests/kms_busy.c index 66f26cd08..7e5ab3d19 100644 --- a/tests/kms_busy.c +++ b/tests/kms_busy.c @@ -271,7 +271,8 @@ static void test_pageflip_modeset_hang(igt_display_t *dpy, t = igt_spin_new(dpy->drm_fd, .engine = ring, - .dependency = fb.gem_handle); + .dependency = fb.gem_handle, + .flags = IGT_SPIN_NO_PREEMPTION); do_or_die(drmModePageFlip(dpy->drm_fd, dpy->pipes[pipe].crtc_id, fb.fb_id, DRM_MODE_PAGE_FLIP_EVENT, &fb)); -- 2.23.0.rc1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx