Re: [PATCH 7/8] drm/i915/pmu: Wire up engine busy stats to PMU

Chris Wilson
2017-09-25T17:48:27Z

Quoting Tvrtko Ursulin (2017-09-25 16:15:42)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> We can use engine busy stats instead of the MMIO sampling timer
> for better efficiency.
>
> As minimum this saves period * num_engines / sec mmio reads,
> and in a better case, when only engine busy samplers are active,
> it enables us to not kick off the sampling timer at all.

Or you could inspect port_isset(execlists.port).
You can avoid the mmio for this case also by just using HWSP. It's just
that I never enabled busy tracking in isolation, so I always ended up
using the mmio.

Stronger argument is that this method give more precise timing than
stochastic sampling.

>
> v2: Rebase.
> v3:
> * Rebase, comments.
> * Leave engine busyness controls out of workers.
> v4: Checkpatch cleanup.
> v5: Added comment to pmu_needs_timer change.
> v6:
> * Rebase.
> * Fix style of some comments. (Chris Wilson)
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

With a better explanation of why this is preferred,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris