[Intel-gfx] [PATCH 2/8] drm/i915/selftests: Prevent the timeslice expiring during suppression tests

Mika Kuoppala mika.kuoppala at linux.intel.com
Mon Aug 12 09:39:01 UTC 2019


Chris Wilson <chris at chris-wilson.co.uk> writes:

> When testing whether we prevent suppressing preemption, it helps to
> avoid a time slice expiring prematurely.
>

I did look the test and it does call schedule on it's own.

So what we want to do is to postpone the defacto schedule tick
provided by driver not to mess our own schedule? (which we
use to check that no preemption does occur with equal
priorities?)

Just trying to figure out if I got the test framework right :O
-Mika


> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111108
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/gt/selftest_lrc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c
> index 91f1c9012489..b797be1627e9 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
> @@ -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;
> -- 
> 2.23.0.rc1


More information about the Intel-gfx mailing list