Michal wants to limit machines that can do preemption, which means that we no longer can assume that if we have a scheduler for execbuf, that implies we have preemption. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- tests/gem_exec_schedule.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c index 0b1925f1..377f8a88 100644 --- a/tests/gem_exec_schedule.c +++ b/tests/gem_exec_schedule.c @@ -33,6 +33,7 @@ #include "igt_sysfs.h" #define LOCAL_PARAM_HAS_SCHEDULER 41 +#define LOCAL_PARAM_HAS_PREEMPTION 50 #define LOCAL_CONTEXT_PARAM_PRIORITY 6 #define LO 0 @@ -878,6 +879,18 @@ static bool has_scheduler(int fd) return has > 0; } +static bool has_preemption(int fd) +{ + drm_i915_getparam_t gp; + int has = -1; + + gp.param = LOCAL_PARAM_HAS_PREEMPTION; + gp.value = &has; + drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp); + + return has > 0; +} + #define HAVE_EXECLISTS 0x1 #define HAVE_GUC 0x2 static unsigned print_welcome(int fd) @@ -969,17 +982,23 @@ igt_main igt_subtest_f("promotion-%s", e->name) promotion(fd, e->exec_id | e->flags); - igt_subtest_f("preempt-%s", e->name) - preempt(fd, e->exec_id | e->flags, 0); + igt_subtest_group { + igt_fixture { + igt_require(has_preemption(fd)); + } + + igt_subtest_f("preempt-%s", e->name) + preempt(fd, e->exec_id | e->flags, 0); - igt_subtest_f("preempt-contexts-%s", e->name) - preempt(fd, e->exec_id | e->flags, NEW_CTX); + igt_subtest_f("preempt-contexts-%s", e->name) + preempt(fd, e->exec_id | e->flags, NEW_CTX); - igt_subtest_f("preempt-other-%s", e->name) - preempt_other(fd, e->exec_id | e->flags); + igt_subtest_f("preempt-other-%s", e->name) + preempt_other(fd, e->exec_id | e->flags); - igt_subtest_f("preempt-self-%s", e->name) - preempt_self(fd, e->exec_id | e->flags); + igt_subtest_f("preempt-self-%s", e->name) + preempt_self(fd, e->exec_id | e->flags); + } igt_subtest_f("deep-%s", e->name) deep(fd, e->exec_id | e->flags); -- 2.14.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx