Message ID | 20200526141723.401469-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t] i915/perf_pmu: Update inter-engine semaphore detection | expand |
On 26/05/2020 15:17, Chris Wilson wrote: > The kernel no longer uses semaphores between engines, unless it can do > so by preempting them with timeslices. Update the semaphore-busy to only > run when we expect semaphore usage, i.e. not on bdw/bsw. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1939 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > tests/perf_pmu.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c > index e54a0d47e..e80f730cf 100644 > --- a/tests/perf_pmu.c > +++ b/tests/perf_pmu.c > @@ -822,6 +822,7 @@ sema_busy(int gem_fd, > int fd; > > igt_require(gem_scheduler_has_semaphores(gem_fd)); > + igt_require(gem_scheduler_has_preemption(gem_fd)); > > fd = open_group(gem_fd, > I915_PMU_ENGINE_SEMA(e->class, e->instance), -1); > Test with perhaps too intimate knowledge of i915.. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko
Quoting Tvrtko Ursulin (2020-05-26 16:58:05) > > On 26/05/2020 15:17, Chris Wilson wrote: > > The kernel no longer uses semaphores between engines, unless it can do > > so by preempting them with timeslices. Update the semaphore-busy to only > > run when we expect semaphore usage, i.e. not on bdw/bsw. > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1939 > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > --- > > tests/perf_pmu.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c > > index e54a0d47e..e80f730cf 100644 > > --- a/tests/perf_pmu.c > > +++ b/tests/perf_pmu.c > > @@ -822,6 +822,7 @@ sema_busy(int gem_fd, > > int fd; > > > > igt_require(gem_scheduler_has_semaphores(gem_fd)); > > + igt_require(gem_scheduler_has_preemption(gem_fd)); > > > > fd = open_group(gem_fd, > > I915_PMU_ENGINE_SEMA(e->class, e->instance), -1); > > > > Test with perhaps too intimate knowledge of i915.. iirc, part of the intent of the test was to understand how the kernel's choice of inter-engine sync would show up in the pmu. The challenge we have is in declaring the expected outcomes, that requires intimate knowledge of what the kernel might decide to do. -Chris
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c index e54a0d47e..e80f730cf 100644 --- a/tests/perf_pmu.c +++ b/tests/perf_pmu.c @@ -822,6 +822,7 @@ sema_busy(int gem_fd, int fd; igt_require(gem_scheduler_has_semaphores(gem_fd)); + igt_require(gem_scheduler_has_preemption(gem_fd)); fd = open_group(gem_fd, I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
The kernel no longer uses semaphores between engines, unless it can do so by preempting them with timeslices. Update the semaphore-busy to only run when we expect semaphore usage, i.e. not on bdw/bsw. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1939 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/perf_pmu.c | 1 + 1 file changed, 1 insertion(+)