[Intel-gfx] [PATCH i-g-t] i915/perf_pmu: Check on the health of the spinner while waiting

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Sep 9 09:19:08 UTC 2019


On 09/09/2019 08:12, Chris Wilson wrote:
> And give up if we never even make it to the start.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111592
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>   tests/perf_pmu.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index d392a67d4..8a06e5d44 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -191,10 +191,12 @@ static unsigned long __spin_wait(int fd, igt_spin_t *spin)
>   		while (!igt_spin_has_started(spin)) {
>   			unsigned long t = igt_nsec_elapsed(&start);
>   
> +			igt_assert(gem_bo_busy(fd, spin->handle));
>   			if ((t - timeout) > 250e6) {
>   				timeout = t;
>   				igt_warn("Spinner not running after %.2fms\n",
>   					 (double)t / 1e6); > +				igt_assert(t < 2e9);
>   			}
>   		}
>   	} else {
> @@ -202,6 +204,7 @@ static unsigned long __spin_wait(int fd, igt_spin_t *spin)
>   		usleep(500e3); /* Better than nothing! */
>   	}
>   
> +	igt_assert(gem_bo_busy(fd, spin->handle));
>   	return igt_nsec_elapsed(&start);
>   }
>   
> 

The 2s timeout for batch to start executing sounds okay.

I'd pull up and consolidate the bo_busy checks into one at the top of 
the function, since it is only telling us batch has been submitted. Or 
you are thinking the second check brings value in checking batch is 
still executing, hasn't failed or something?

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list