[Intel-gfx] [PATCH 00/14] i915 perf support for command stream based OA, GPU and workload metrics capture
Sagar Arun Kamble
sagar.a.kamble at intel.com
Mon Aug 28 09:52:10 UTC 2017
This is follow up series based on reviews for
https://patchwork.freedesktop.org/series/28104/
Major change is assignment of samples at the time of request submission
onto HW instead of assigning at user submission time. Restructured
patches to make some of the earlier code-heavy patches little lighter
by modularizing them. Added base i-g-t testcase dapc for testing exposed
sample fields like PID, Timestamps, CTX ID etc.
Reiterating the intent of this series:
1. Collection of OA reports associated with the render command stream, which
are collected around batchbuffer boundaries.
2. Collect other metadata such as ctx_id, pid, tag etc. with the samples,
and thus we can establish the association of samples collected with the
corresponding process/workload.
3. Collection of GPU performance metrics associated with the command stream of
a particular engine. These metrics include timestamps of work submission and
completion on engines, mmio metrics, etc. These metrics are are collected
around batchbuffer boundaries.
Functionality to be added in future patches:
1. GPU/CPU cross-timestamp sync patches need to be reworked as requested by
kernel maintainers.
2. Some of the data types being collected through these patches can be done in
the userspace and that is yet to be finalized. Based on that some of the
functionality from this series can be pruned.
Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Cc: Matthew Auld <matthew.auld at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Sagar Arun Kamble (2):
drm/i915: Define CTX_ID property for perf sampling
drm/i915: Link perf stream structures with Engines
Sourab Gupta (12):
drm/i915: Add ctx getparam ioctl parameter to retrieve ctx unique id
drm/i915: Expose OA sample source to userspace
drm/i915: Framework for capturing command stream based OA reports.
drm/i915: Flush periodic samples, in case of no pending CS sample
requests
drm/i915: Inform userspace about command stream OA buf overflow
drm/i915: Populate ctx ID for periodic OA reports
drm/i915: Add support for having pid output with OA report
drm/i915: Add support for emitting execbuffer tags through OA counter
reports
drm/i915: Add support for collecting timestamps on all gpu engines
drm/i915: Extract raw GPU timestamps from OA reports to forward in
perf samples
drm/i915: Async check for streams data availability with hrtimer
rescheduling
drm/i915: Support for capturing MMIO register values
drivers/gpu/drm/i915/i915_drv.h | 176 ++-
drivers/gpu/drm/i915/i915_gem.c | 1 +
drivers/gpu/drm/i915/i915_gem_context.c | 3 +
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 +
drivers/gpu/drm/i915/i915_gem_request.c | 2 +
drivers/gpu/drm/i915/i915_gem_request.h | 10 +
drivers/gpu/drm/i915/i915_perf.c | 1904 ++++++++++++++++++++++++----
drivers/gpu/drm/i915/i915_reg.h | 6 +
drivers/gpu/drm/i915/intel_engine_cs.c | 4 +
drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +
drivers/gpu/drm/i915/intel_ringbuffer.h | 11 +
include/uapi/drm/i915_drm.h | 69 +
12 files changed, 1935 insertions(+), 264 deletions(-)
--
1.9.1
More information about the Intel-gfx
mailing list