[igt-dev] [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_create: Fix 'files'

Mika Kuoppala mika.kuoppala at linux.intel.com
Tue Mar 3 14:39:28 UTC 2020


Chris Wilson <chris at chris-wilson.co.uk> writes:

> The test is supposed to create a context for each execution, so do so.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  tests/i915/gem_ctx_create.c | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
> index 2c44a3e3e..d9192fbab 100644
> --- a/tests/i915/gem_ctx_create.c
> +++ b/tests/i915/gem_ctx_create.c
> @@ -178,7 +178,7 @@ static void active(int fd, const struct intel_execution_engine2 *e,
>  
>  			execbuf.flags = ppgtt_engines[child];
>  
> -			while (!*(volatile unsigned *)shared) {
> +			while (!READ_ONCE(*shared)) {

Pleasing.

>  				obj.handle = gem_create(fd, 4096 << 10);
>  				gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe));
>  
> @@ -209,17 +209,19 @@ static void active(int fd, const struct intel_execution_engine2 *e,
>  
>  		clock_gettime(CLOCK_MONOTONIC, &start);
>  		do {
> -			do {
> -				execbuf.rsvd1 = ctx;
> -				for (unsigned n = 0; n < nengine; n++) {
> -					execbuf.flags = engines[n];
> -					gem_execbuf(fd, &execbuf);
> -				}
> -				gem_context_destroy(fd, execbuf.rsvd1);
> -			} while (++count & 1023);
> +			execbuf.rsvd1 = gem_context_clone_with_engines(fd, ctx);
> +			for (unsigned n = 0; n < nengine; n++) {
> +				execbuf.flags = engines[n];
> +				gem_execbuf(fd, &execbuf);
> +			}
> +			gem_context_destroy(fd, execbuf.rsvd1);
> +			count++;
> +
>  			clock_gettime(CLOCK_MONOTONIC, &end);
>  		} while (elapsed(&start, &end) < timeout);
>  
> +		gem_context_destroy(fd, ctx);

Tidy.

Well as the test name is terse as 'active' I can't argue that it should or
should not create a context.

But tossing the same ctx for each execbuf looks fruitless enough.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> +
>  		gem_sync(fd, obj.handle);
>  		clock_gettime(CLOCK_MONOTONIC, &end);
>  		igt_info("[%d] Context creation + execution: %.3f us\n",
> -- 
> 2.25.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the igt-dev mailing list