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

Chris Wilson chris at chris-wilson.co.uk
Tue Nov 21 11:50:27 UTC 2017


Quoting Tvrtko Ursulin (2017-10-11 13:54:18)
> From: Tvrtko Ursulin <tvrtko.ursulin at 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 at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin at intel.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk> (v6)

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


More information about the Intel-gfx mailing list