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 new IGT testcase intel_perf_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. Testcase: igt/intel_perf_dapc Cc: Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> Cc: Matthew Auld <matthew.auld@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: "Rogozhkin, Dmitry V" <dmitry.v.rogozhkin@xxxxxxxxx> 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 | 1919 ++++++++++++++++++++++++---- 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 | 72 ++ 12 files changed, 1947 insertions(+), 270 deletions(-) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx