[Intel-gfx] [PATCH 2/2] drm/i915/selftest: Fix ktime_get() and h/w access order

Nilawar, Badal badal.nilawar at intel.com
Wed Mar 1 11:58:29 UTC 2023


LGTM

Reviewed-by: Badal Nilawar <badal.nilawar at intel.com>

On 23-02-2023 15:35, Anshuman Gupta wrote:
> Use ktime_get() after accessing the mmio or any driver resource,
> while using wall time for various calculation that depends on
> the inserted delay in order to account any mmio and resource
> access latency.
> 
> Cc: Chris Wilson <chris.p.wilson at intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
> ---
>   drivers/gpu/drm/i915/gt/selftest_rps.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c
> index c0cc0dd78c7c..84e77e8dbba1 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_rps.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c
> @@ -537,8 +537,8 @@ static u64 __measure_frequency(u32 *cntr, int duration_ms)
>   {
>   	u64 dc, dt;
>   
> -	dt = ktime_get();
>   	dc = READ_ONCE(*cntr);
> +	dt = ktime_get();
>   	usleep_range(1000 * duration_ms, 2000 * duration_ms);
>   	dc = READ_ONCE(*cntr) - dc;
>   	dt = ktime_get() - dt;
> @@ -566,8 +566,8 @@ static u64 __measure_cs_frequency(struct intel_engine_cs *engine,
>   {
>   	u64 dc, dt;
>   
> -	dt = ktime_get();
>   	dc = intel_uncore_read_fw(engine->uncore, CS_GPR(0));
> +	dt = ktime_get();
>   	usleep_range(1000 * duration_ms, 2000 * duration_ms);
>   	dc = intel_uncore_read_fw(engine->uncore, CS_GPR(0)) - dc;
>   	dt = ktime_get() - dt;
> @@ -1094,8 +1094,8 @@ static u64 __measure_power(int duration_ms)
>   {
>   	u64 dE, dt;
>   
> -	dt = ktime_get();
>   	dE = librapl_energy_uJ();
> +	dt = ktime_get();
>   	usleep_range(1000 * duration_ms, 2000 * duration_ms);
>   	dE = librapl_energy_uJ() - dE;
>   	dt = ktime_get() - dt;


More information about the Intel-gfx mailing list