[igt-dev] [PATCH i-g-t] i915/gem_exec_balancer: Check for bonding support before exercising
Chris Wilson
chris at chris-wilson.co.uk
Tue Mar 31 10:36:23 UTC 2020
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,
+ };
+ 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();
}
--
2.26.0
More information about the igt-dev
mailing list