Message ID | 20180608213555.31390-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/06/2018 22:35, Chris Wilson wrote: > guc also uses timer-based sampling and cannot reliably hit our accuracy > requirements for the test, so skip. We also have an open ticket asking from GuC FW to implement something to allow us to keep non-sampling/accurate mode. From that angle it is good to have these few tests failing as a reminder that needs to be done. So I'd rather we don't sweep it under the rug. Regards, Tvrtko > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > tests/perf_pmu.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c > index 4570f926d..61e83bf7b 100644 > --- a/tests/perf_pmu.c > +++ b/tests/perf_pmu.c > @@ -1507,6 +1507,17 @@ static void __rearm_spin_batch(igt_spin_t *spin) > #define assert_within(x, ref, tolerance) \ > __assert_within(x, ref, tolerance, tolerance) > > +static bool uses_timer_sampling(int gem_fd) > +{ > + if (!gem_has_execlists(gem_fd)) > + return true; > + > + if (gem_has_guc_submission(gem_fd)) > + return true; > + > + return false; > +} > + > static void > accuracy(int gem_fd, const struct intel_execution_engine2 *e, > unsigned long target_busy_pct) > @@ -1524,7 +1535,7 @@ accuracy(int gem_fd, const struct intel_execution_engine2 *e, > int fd; > > /* Sampling platforms cannot reach the high accuracy criteria. */ > - igt_require(gem_has_execlists(gem_fd)); > + igt_require(!uses_timer_sampling(gem_fd)); > > while (idle_us < 2500) { > busy_us *= 2; >
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c index 4570f926d..61e83bf7b 100644 --- a/tests/perf_pmu.c +++ b/tests/perf_pmu.c @@ -1507,6 +1507,17 @@ static void __rearm_spin_batch(igt_spin_t *spin) #define assert_within(x, ref, tolerance) \ __assert_within(x, ref, tolerance, tolerance) +static bool uses_timer_sampling(int gem_fd) +{ + if (!gem_has_execlists(gem_fd)) + return true; + + if (gem_has_guc_submission(gem_fd)) + return true; + + return false; +} + static void accuracy(int gem_fd, const struct intel_execution_engine2 *e, unsigned long target_busy_pct) @@ -1524,7 +1535,7 @@ accuracy(int gem_fd, const struct intel_execution_engine2 *e, int fd; /* Sampling platforms cannot reach the high accuracy criteria. */ - igt_require(gem_has_execlists(gem_fd)); + igt_require(!uses_timer_sampling(gem_fd)); while (idle_us < 2500) { busy_us *= 2;
guc also uses timer-based sampling and cannot reliably hit our accuracy requirements for the test, so skip. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tests/perf_pmu.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)