On 26/09/2017 19:46, Rogozhkin, Dmitry V wrote:
On Tue, 2017-09-26 at 13:32 +0100, Tvrtko Ursulin wrote:
On 25/09/2017 18:48, Chris Wilson wrote:
Quoting Tvrtko Ursulin (2017-09-25 16:15:42)
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
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.
This would be for execlists only. I could change the main patch to do
this, you think it is worth it?
You know, I wonder why we limit this by execlists? Is that because
I am not sure there wasn't a slight misunderstanding here. By "execlists
only" I simply meant the _optimisation_ of getting engine busyness via
port_isset instead of MMIO reads would be for execlists only (and guc).
So we'd have:
1. legacy - mmio sampling
2. execlists - software sampling in the first pmu batch, then precise
engine busyness in patches that follow
3. guc - like execlists in the first pmu patch, and the for precise
busyness perhaps we just use the same context_in/out approach
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx