Ringbuffer HW RC6 is not as fast as soft-rc6 on execlists, as it must always wait for an EI before entering RC6 and does not benefit from an interrupt generated when the rings go idle (so no immediate parking). Our goal with the test is to make sure that we do enter rc6 under very light workloads, so increase the tolerance slightly. fi-cfl-guc: 2.84 fi-kbl-8809g: 2.76 fi-kbl-x1275: 2.81 fi-skl-6770hq: 2.79 fi-skl-lmem: 2.85 fi-hsw-4770: 2.65 fi-hsw-4770r: 2.64 fi-hsw-peppy: 2.65 fi-ivb-3770: 0 (awooga, awooga, awooga!) fi-snb-2520m: 2.66 fi-snb-2600: 2.64 Worst case among an idle run is 88%, so set our tolerance to 20%. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> --- tests/i915/i915_pm_rc6_residency.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/i915/i915_pm_rc6_residency.c b/tests/i915/i915_pm_rc6_residency.c index c801a5f60..6a714cab8 100644 --- a/tests/i915/i915_pm_rc6_residency.c +++ b/tests/i915/i915_pm_rc6_residency.c @@ -283,6 +283,7 @@ static int open_pmu(int i915, uint64_t config) static void rc6_idle(int i915) { const int64_t duration_ns = SLEEP_DURATION * (int64_t)NSEC_PER_SEC; + const int tolerance = 20; /* Some RC6 is better than none! */ unsigned long slept, cycles; unsigned long *done; uint64_t rc6, ts[2]; @@ -339,7 +340,7 @@ static void rc6_idle(int i915) close(fd); igt_assert(cycles >= SLEEP_DURATION); /* At least one wakeup/s needed */ - assert_within_epsilon(rc6, ts[1] - ts[0], 5); + assert_within_epsilon(rc6, ts[1] - ts[0], tolerance); } igt_main -- 2.25.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx