Message ID | 20200331103623.859601-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t] i915/gem_exec_balancer: Check for bonding support before exercising | expand |
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@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Cc: Andi Shyti <andi.shyti@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@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(); > } >
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, + }; + 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(); }
Don't bother trying and failing to test bonding if the kernel doesn't even support it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Andi Shyti <andi.shyti@intel.com> --- tests/i915/gem_exec_balancer.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-)