[Intel-gfx] [PATCH i-g-t 03/10] gem_wsim: Show workload timing stats
Chris Wilson
chris at chris-wilson.co.uk
Wed Jun 17 16:58:21 UTC 2020
Quoting Tvrtko Ursulin (2020-06-17 17:01:13)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Show average/min/max workload iteration and dropped period stats when 'p'
> command is used.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> benchmarks/gem_wsim.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
> index 9e5bfe6a36d4..60982cb73ba7 100644
> --- a/benchmarks/gem_wsim.c
> +++ b/benchmarks/gem_wsim.c
> @@ -2101,7 +2101,8 @@ static void *run_workload(void *data)
> struct w_step *w;
> int throttle = -1;
> int qd_throttle = -1;
> - int count;
> + int count, missed = 0;
> + unsigned long time_tot = 0, time_min = ULONG_MAX, time_max = 0;
> int i;
>
> clock_gettime(CLOCK_MONOTONIC, &t_start);
> @@ -2121,12 +2122,19 @@ static void *run_workload(void *data)
> do_sleep = w->delay;
> } else if (w->type == PERIOD) {
> struct timespec now;
> + int elapsed;
>
> clock_gettime(CLOCK_MONOTONIC, &now);
> - do_sleep = w->period -
> - elapsed_us(&wrk->repeat_start, &now);
> + elapsed = elapsed_us(&wrk->repeat_start, &now);
> + do_sleep = w->period - elapsed;
> + time_tot += elapsed;
> + if (elapsed < time_min)
> + time_min = elapsed;
> + if (elapsed > time_max)
> + time_max = elapsed;
Keep the running average?
> if (do_sleep < 0) {
> - if (verbose > 1)
> + missed++;
> + if (verbose > 2)
> printf("%u: Dropped period @ %u/%u (%dus late)!\n",
> wrk->id, count, i, do_sleep);
> continue;
> @@ -2280,6 +2288,9 @@ static void *run_workload(void *data)
> printf("%c%u: %.3fs elapsed (%d cycles, %.3f workloads/s).",
> wrk->background ? ' ' : '*', wrk->id,
> t, count, count / t);
> + if (time_tot)
> + printf(" Time avg/min/max=%lu/%lu/%luus; %u missed.",
> + time_tot / count, time_min, time_max, missed);
> putchar('\n');
> }
>
> --
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
More information about the Intel-gfx
mailing list