drm/i915/selftests: Prevent the timeslice expiring during suppression tests
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 12 Aug 2019 09:10:39 +0000 (10:10 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 12 Aug 2019 12:18:13 +0000 (13:18 +0100)
When testing whether we prevent suppressing preemption, it helps to
avoid a time slice expiring prematurely.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111108
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190812091045.29587-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/selftest_lrc.c

index 91f1c90..b797be1 100644 (file)
@@ -913,6 +913,8 @@ static int live_suppress_self_preempt(void *arg)
                        goto err_wedged;
                }
 
+               /* Keep postponing the timer to avoid premature slicing */
+               mod_timer(&engine->execlists.timer, jiffies + HZ);
                for (depth = 0; depth < 8; depth++) {
                        rq_b = spinner_create_request(&b.spin,
                                                      b.ctx, engine,
@@ -938,7 +940,8 @@ static int live_suppress_self_preempt(void *arg)
                igt_spinner_end(&a.spin);
 
                if (engine->execlists.preempt_hang.count) {
-                       pr_err("Preemption recorded x%d, depth %d; should have been suppressed!\n",
+                       pr_err("Preemption on %s recorded x%d, depth %d; should have been suppressed!\n",
+                              engine->name,
                               engine->execlists.preempt_hang.count,
                               depth);
                        err = -EINVAL;