[igt-dev] [Intel-gfx] [PATCH i-g-t] i915/gem_exec_balancer: Check for bonding support before exercising

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Apr 1 14:12:57 UTC 2020


On 31/03/2020 11:36, Chris Wilson wrote:
> Don't bother trying and failing to test bonding if the kernel doesn't
> even support it.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Andi Shyti <andi.shyti at intel.com>
> ---
>   tests/i915/gem_exec_balancer.c | 34 +++++++++++++++++++++++++++-------
>   1 file changed, 27 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
> index da8aff6de..9930e394d 100644
> --- a/tests/i915/gem_exec_balancer.c
> +++ b/tests/i915/gem_exec_balancer.c
> @@ -1936,6 +1936,22 @@ static bool has_load_balancer(int i915)
>   	return err == 0;
>   }
>   
> +static bool has_bonding(int i915)
> +{
> +	I915_DEFINE_CONTEXT_ENGINES_BOND(bonds, 0) = {
> +		.base.name = I915_CONTEXT_ENGINES_EXT_BOND,
> +	};

Doh why do we allow zero bonds.. to make for an easier probe of course! :))

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

Regards,

Tvrtko

> +	struct i915_engine_class_instance ci = {};
> +	uint32_t ctx;
> +	int err;
> +
> +	ctx = gem_context_create(i915);
> +	err = __set_load_balancer(i915, ctx, &ci, 1, &bonds);
> +	gem_context_destroy(i915, ctx);
> +
> +	return err == 0;
> +}
> +
>   igt_main
>   {
>   	int i915 = -1;
> @@ -1992,11 +2008,18 @@ igt_main
>   	igt_subtest("smoke")
>   		smoketest(i915, 20);
>   
> -	igt_subtest("bonded-imm")
> -		bonded(i915, 0);
> +	igt_subtest_group {
> +		igt_fixture igt_require(has_bonding(i915));
> +
> +		igt_subtest("bonded-imm")
> +			bonded(i915, 0);
> +
> +		igt_subtest("bonded-cork")
> +			bonded(i915, CORK);
>   
> -	igt_subtest("bonded-cork")
> -		bonded(i915, CORK);
> +		igt_subtest("bonded-early")
> +			bonded_early(i915);
> +	}
>   
>   	igt_subtest("bonded-slice")
>   		bonded_slice(i915);
> @@ -2007,9 +2030,6 @@ igt_main
>   	igt_subtest("bonded-semaphore")
>   		bonded_semaphore(i915);
>   
> -	igt_subtest("bonded-early")
> -		bonded_early(i915);
> -
>   	igt_fixture {
>   		igt_stop_hang_detector();
>   	}
> 


More information about the igt-dev mailing list