[Intel-gfx] [PATCH v7 10/12] drm/i915/perf: allow holding preemption on filtered ctx

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 9 10:00:43 UTC 2019


Quoting Lionel Landwerlin (2019-07-09 10:32:06)
> We would like to make use of perf in Vulkan. The Vulkan API is much
> lower level than OpenGL, with applications directly exposed to the
> concept of command buffers (pretty much equivalent to our batch
> buffers). In Vulkan, queries are always limited in scope to a command
> buffer. In OpenGL, the lack of command buffer concept meant that
> queries' duration could span multiple command buffers.
> 
> With that restriction gone in Vulkan, we would like to simplify
> measuring performance just by measuring the deltas between the counter
> snapshots written by 2 MI_RECORD_PERF_COUNT commands, rather than the
> more complex scheme we currently have in the GL driver, using 2
> MI_RECORD_PERF_COUNT commands and doing some post processing on the
> stream of OA reports, coming from the global OA buffer, to remove any
> unrelated deltas in between the 2 MI_RECORD_PERF_COUNT.
> 
> Disabling preemption only apply to a single context with which want to
> query performance counters for and is considered a privileged
> operation, by default protected by CAP_SYS_ADMIN. It is possible to
> enable it for a normal user by disabling the paranoid stream setting.
> 
> v2: Store preemption setting in intel_context (Chris)
> 
> v3: Use priorities to avoid preemption rather than the HW mechanism
> 
> v4: Just modify the port priority reporting function
> 
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Could you split this into two -- separate the backend mechanism from
perf setting the flag? I want to add a selftest and apply.
-Chris


More information about the Intel-gfx mailing list