Re: [PATCH i-g-t v7 7/9] tests/perf_pmu: Tests for i915 PMU API

Chris Wilson
2017-11-21T11:50:38Z

Quoting Tvrtko Ursulin (2017-10-11 13:54:18)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> A bunch of tests for the new i915 PMU feature.
>
> Parts of the code were initialy sketched by Dmitry Rogozhkin.
>
> v2: (Most suggestions by Chris Wilson)
> * Add new class/instance based engine list.
> * Add gem_has_engine/gem_require_engine to work with class/instance.
> * Use the above two throughout the test.
> * Shorten tests to 100ms busy batches, seems enough.
> * Add queued counter sanity checks.
> * Use igt_nsec_elapsed.
> * Skip on perf -ENODEV in some tests instead of embedding knowledge locally.
> * Fix multi ordering for busy accounting.
> * Use new guranteed_usleep when sleep time is asserted on.
> * Check for no queued when idle/busy.
> * Add queued counter init test.
> * Add queued tests.
> * Consolidate and increase multiple busy engines tests to most-busy and
> all-busy tests.
> * Guarantte interrupts by using fences.
> * Test RC6 via forcewake.
>
> v3:
> * Tweak assert in interrupts subtest.
> * Sprinkle of comments.
> * Fix multi-client test which got broken in v2.
>
> v4:
> * Measured instead of guaranteed sleep.
> * Missing sync in no_sema.
> * Log busyness before asserts for debug.
> * access(2) instead of open(2) to determine if cpu0 is hotpluggable.
> * Test frequency reporting via min/max setting instead assuming.
> ^^ All above suggested by Chris Wilson. ^^
> * Drop queued subtests to match i915.
> * Use long batches with fences to ensure interrupts.
> * Test render node as well.
>
> v5:
> * Add to meson build. (Petri Latvala)
> * Use 1eN constants. (Chris Wilson)
> * Add tests for semaphore and event waiting.
>
> v6:
> * Fix interrupts subtest by polling the fence from the "outside".
> (Chris Wilson)
>
> v7:
> * Assert number of initialized engines matches the expectation.
> (Chris Wilson)
> * Warn instead of skipping if we couldn't restore the initial
> frequency. (Chris Wilson)
> * Move all asserts to after the test cleanup (just a tidy).
> * More 1eN notation for timeouts.
> * Bump the tolerance to 5% since I saw a few noisy runs with
> sampling counters.
> * Always start the PMU before submitting batches to lower
> reliance on i915 doing the delayed engine busy stats disable.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v6)

I think the proof of the pudding is in the eating...
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris