[igt-dev] [PATCH i-g-t 11/14] benchmarks/gem_wsim: introduce w_step_sync function

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Sep 26 11:37:01 UTC 2023


On 26/09/2023 09:44, Marcin Bernatowicz wrote:
> Added w_step_sync function for workload step synchronization.
> Change will allow cleaner xe integration.
> 
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
> ---
>   benchmarks/gem_wsim.c | 17 +++++++++++------
>   1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
> index 0222c6c71..2c6ccd3a9 100644
> --- a/benchmarks/gem_wsim.c
> +++ b/benchmarks/gem_wsim.c
> @@ -245,6 +245,11 @@ static const char *ring_str_map[NUM_ENGINES] = {
>   	[VECS] = "VECS",
>   };
>   
> +static void w_step_sync(struct w_step *w)
> +{
> +	gem_sync(fd, w->obj[0].handle);
> +}
> +
>   static int read_timestamp_frequency(int i915)
>   {
>   	int value = 0;
> @@ -2106,7 +2111,7 @@ static void w_sync_to(struct workload *wrk, struct w_step *w, int target)
>   	igt_assert(target < wrk->nr_steps);
>   	igt_assert(wrk->steps[target].type == BATCH);
>   
> -	gem_sync(fd, wrk->steps[target].obj[0].handle);
> +	w_step_sync(&wrk->steps[target]);
>   }
>   
>   static void
> @@ -2165,7 +2170,7 @@ static void sync_deps(struct workload *wrk, struct w_step *w)
>   		igt_assert(dep_idx >= 0 && dep_idx < w->idx);
>   		igt_assert(wrk->steps[dep_idx].type == BATCH);
>   
> -		gem_sync(fd, wrk->steps[dep_idx].obj[0].handle);
> +		w_step_sync(&wrk->steps[dep_idx]);
>   	}
>   }
>   
> @@ -2219,7 +2224,7 @@ static void *run_workload(void *data)
>   
>   				igt_assert(s_idx >= 0 && s_idx < i);
>   				igt_assert(wrk->steps[s_idx].type == BATCH);
> -				gem_sync(fd, wrk->steps[s_idx].obj[0].handle);
> +				w_step_sync(&wrk->steps[s_idx]);
>   				continue;
>   			} else if (w->type == THROTTLE) {
>   				throttle = w->throttle;
> @@ -2310,7 +2315,7 @@ static void *run_workload(void *data)
>   				break;
>   
>   			if (w->sync)
> -				gem_sync(fd, w->obj[0].handle);
> +				w_step_sync(w);
>   
>   			if (qd_throttle > 0) {
>   				while (wrk->nrequest[engine] > qd_throttle) {
> @@ -2319,7 +2324,7 @@ static void *run_workload(void *data)
>   					s = igt_list_first_entry(&wrk->requests[engine],
>   								 s, rq_link);
>   
> -					gem_sync(fd, s->obj[0].handle);
> +						w_step_sync(s);

Indentation looks broken here.

Otherwise cleanup looks good so with this fixed:

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko

>   
>   					s->request = -1;
>   					igt_list_del(&s->rq_link);
> @@ -2351,7 +2356,7 @@ static void *run_workload(void *data)
>   			continue;
>   
>   		w = igt_list_last_entry(&wrk->requests[i], w, rq_link);
> -		gem_sync(fd, w->obj[0].handle);
> +		w_step_sync(w);
>   	}
>   
>   	clock_gettime(CLOCK_MONOTONIC, &t_end);


More information about the igt-dev mailing list