[Intel-gfx] [PATCH v2 3/3] drm/i915/perf: enable filtering on multiple contexts

Lionel Landwerlin lionel.g.landwerlin at intel.com
Mon Apr 6 13:54:38 UTC 2020


On 31/03/2020 21:08, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2020-03-31 12:48:21)
>> Add 2 new properties to the i915-perf open ioctl to specify an array
>> of GEM context handles as well as the length of the array.
> Hmm. The other thought is ctx->engine[] where one context may have more
> than one logical context instance that OA could track. The extension to
> track multiple pinned contexts should equally work for multiple engines.
>
> 	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 64) = {};
> 	struct drm_i915_gem_context_param p = {
> 		.ctx_id = gem_context_create(i915),
> 		.param = I915_CONTEXT_PARAM_ENGINES,
> 		.value = to_user_pointer(&engines),
> 		.size = sizeof(struct i915_context_param_engines),
> 	};
> 	gem_context_set_param(i915, &p);
>
> would do the trick in creating one context with 64 rcs0 that they may
> want to track. And that also opens the door to virtual engines over top.
> -Chris


I rather punt this away for now :)

I can't see use cases for Iris/Vulkan.

This seems more of a media thing where we have multiple engines already.

And media doesn't do much perf queries because much of the available 
counters are 3D/compute and queries are not available on media engines.


We can always bump the perf revision later once we've figured how this 
would be used.


-Lionel



More information about the Intel-gfx mailing list