[Intel-gfx] [PATCH] drm/i915/selftest: Synchronise with the GPU timestamp
Chang, Yu bruce
yu.bruce.chang at intel.com
Fri Feb 5 00:35:18 UTC 2021
> Wait for the GPU to wake up from the semaphore before measuring the
>time, so that we coordinate the sampling on both the CPU and GPU for
> more accurate comparisons.
>
>Reported-by: Bruce Chang <yu.bruce.chang at intel.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: CQ Tang <cq.tang at intel.com>
> ---
> drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_pm.c b/drivers/gpu/drm/i915/gt/selftest_engine_pm.c
>index 3ce8cb3329f3..007a7c790778 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_engine_pm.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_engine_pm.c
> @@ -111,8 +111,10 @@ static int __measure_timestamps(struct intel_context *ce,
>
> /* Run the request for a 100us, sampling timestamps before/after */
> preempt_disable();
> - *dt = local_clock();
> write_semaphore(&sema[2], 0);
> + while (READ_ONCE(sema[1]) == 0) /* wait for the gpu to catch up */
> + cpu_relax();
> + *dt = local_clock();
> udelay(100);
> *dt = local_clock() - *dt;
> write_semaphore(&sema[2], 1);
> --
>2.20.1
>
This trick should work!
Thanks!
Reviewed-by: Bruce Chang <yu.bruce.chang at intel.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20210205/cca88e63/attachment.htm>
More information about the Intel-gfx
mailing list