[igt-dev] [PATCH i-g-t 1/7] gem_wsim: Check sleep times
Chris Wilson
chris at chris-wilson.co.uk
Tue Aug 14 15:09:15 UTC 2018
Quoting Tvrtko Ursulin (2018-08-14 16:05:13)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Notice in more places if we are running behind.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> benchmarks/gem_wsim.c | 52 ++++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 46 insertions(+), 6 deletions(-)
>
> diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
> index 80f180829241..ead91b0f009b 100644
> --- a/benchmarks/gem_wsim.c
> +++ b/benchmarks/gem_wsim.c
> @@ -1718,6 +1718,21 @@ static bool sync_deps(struct workload *wrk, struct w_step *w)
> return synced;
> }
>
> +static unsigned int measured_usleep(unsigned int usec)
> +{
> + struct timespec ts = { };
> + unsigned int slept;
> +
> + slept = igt_nsec_elapsed(&ts);
> + igt_assert(slept == 0);
> + do {
> + usleep(usec - slept);
> + slept = igt_nsec_elapsed(&ts) / 1000;
> + } while (slept < usec);
> +
> + return igt_nsec_elapsed(&ts);
> +}
> +
> static void *run_workload(void *data)
> {
> struct workload *wrk = (struct workload *)data;
> @@ -1739,7 +1754,7 @@ static void *run_workload(void *data)
> count++) {
> unsigned int cur_seqno = wrk->sync_seqno;
>
> - clock_gettime(CLOCK_MONOTONIC, &wrk->repeat_start);
> + igt_gettime(&wrk->repeat_start);
Were you already linking against libigt?
This code is not set up to hit an igt_assert()...
-Chris
More information about the igt-dev
mailing list