[Intel-gfx] [PATCH igt] igt/perf_pmu: Keep batch_duration_ns as the minimum measurement duration
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Nov 27 16:10:59 UTC 2017
On 27/11/2017 11:02, Chris Wilson wrote:
> We have chosen batch_duration_ns to be the minimum duration we need to
> meet our accuracy requirements for legacy ringbuffer PMU sampling. As
> such, we need to be careful to use multiples of it during tests, and not
> split it into different phases with a test, like multi_client does.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> tests/perf_pmu.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index 8d58ecea..e527ba58 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -638,9 +638,9 @@ multi_client(int gem_fd, const struct intel_execution_engine2 *e)
> fd[1] = open_pmu(config);
>
> spin = igt_spin_batch_new(gem_fd, 0, e2ring(gem_fd, e), 0);
> - igt_spin_batch_set_timeout(spin, batch_duration_ns);
> + igt_spin_batch_set_timeout(spin, 2 * batch_duration_ns);
>
> - slept = measured_usleep(batch_duration_ns / 3000);
> + slept = measured_usleep(batch_duration_ns / 1000);
> val[1] = pmu_read_single(fd[1]);
> close(fd[1]);
>
> @@ -651,7 +651,7 @@ multi_client(int gem_fd, const struct intel_execution_engine2 *e)
> igt_spin_batch_free(gem_fd, spin);
> close(fd[0]);
>
> - assert_within_epsilon(val[0], batch_duration_ns, tolerance);
> + assert_within_epsilon(val[0], 2 * batch_duration_ns, tolerance);
> assert_within_epsilon(val[1], slept, tolerance);
> }
>
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list