Re: [PATCH] drm/i915/selftest: Synchronise with the GPU timestamp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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@xxxxxxxxx>
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: CQ Tang <cq.tang@xxxxxxxxx>
> ---
>  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@xxxxxxxxx> 

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux