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

Chris Wilson chris at chris-wilson.co.uk
Tue Mar 31 18:08:49 UTC 2020


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


More information about the Intel-gfx mailing list