[Intel-xe] [PATCH 00/21] Add OA functionality to Xe
Umesh Nerlige Ramappa
umesh.nerlige.ramappa at intel.com
Sat Oct 14 01:05:50 UTC 2023
Hi Ashutosh,
Overall, the non-uApi code looks good. I believe you are refining the
uApi further, so will wait for that. Can you also please drop unused
code and replace the patches with the final code for each piece. I can
review it from scratch and refer to i915 offline as needed.
Thanks,
Umesh
On Tue, Sep 19, 2023 at 09:10:28AM -0700, Ashutosh Dixit wrote:
>This patchset is the initial port of i915 perf/OA functionality to the XE
>driver. The following features in i915 have not been ported and will be
>added (as new patches) if/as they are needed:
>
>* Inline batch submission on stream exec_queue/hw_engine
>* NOA wait
>* GuC ctx id (guc_sw_ctx_id)
>* CTX_R_PWR_CLK_STATE/GEN8_R_PWR_CLK_STATE
>* hold_preemption (DRM_XE_OA_PROP_HOLD_PREEMPTION)
>* sseu_config (DRM_XE_OA_PROP_GLOBAL_SSEU)
>* MTL bios_c6_setup
>* ratelimits
>* compat ioctl
>
>I am providing the following additional HAX patch (not part of this series)
>to help review these patches:
>
>https://patchwork.freedesktop.org/patch/551683/?series=120100&rev=4
>
>The commit message in the above patch explains how it can be useful for
>reviewing this series.
>
>This series is also available at:
> https://gitlab.freedesktop.org/adixit/kernel/-/tree/xe-oa
>
>The series has been tested against this IGT series:
> https://gitlab.freedesktop.org/adixit/igt-gpu-tools/-/tree/xe-oa
>
>v2: Fix build
>v3: Rebase, due to s/xe_engine/xe_exec_queue/
>v4: Re-run for testing
>v5: Address review comments, new patches 11 through 17
>v6: New patches 18 through 21
>
>Ashutosh Dixit (21):
> drm/xe/uapi: Introduce OA (observability architecture) uapi
> drm/xe/oa: Add OA types
> drm/xe/oa: Add registers and GPU commands used by OA
> drm/xe/oa: Module init/exit and probe/remove
> drm/xe/oa: Add/remove config ioctl's
> drm/xe/oa: Start implementing OA stream open ioctl
> drm/xe/oa: OA stream initialization
> drm/xe/oa: Expose OA stream fd
> drm/xe/oa: Read file_operation
> drm/xe/oa: Implement queries
> drm/xe/oa: Override GuC RC with OA on PVC
> drm/xe/uapi: "Perf" layer to support multiple perf counter stream
> types
> drm/xe/uapi: Multiplex PERF ops through a single PERF ioctl
> drm/xe/uapi: Simplify OA configs in uapi
> drm/xe/uapi: Remove OA format names from OA uapi
> drm/xe/oa: Make xe_oa_timestamp_frequency per gt
> drm/xe/oa: Remove filtering reports on context id
> drm/xe/uapi: More OA uapi fixes/additions
> drm/xe/uapi: Drop OA_IOCTL_VERSION
> drm/xe/uapi: Use OA unit id to identify OA unit
> drm/xe/uapi: Convert OA property key/value pairs to a struct
>
> drivers/gpu/drm/xe/Makefile | 2 +
> drivers/gpu/drm/xe/regs/xe_engine_regs.h | 2 +
> drivers/gpu/drm/xe/regs/xe_gpu_commands.h | 13 +
> drivers/gpu/drm/xe/regs/xe_oa_regs.h | 173 ++
> drivers/gpu/drm/xe/xe_device.c | 13 +
> drivers/gpu/drm/xe/xe_device_types.h | 4 +
> drivers/gpu/drm/xe/xe_gt_types.h | 4 +
> drivers/gpu/drm/xe/xe_guc_pc.c | 60 +
> drivers/gpu/drm/xe/xe_guc_pc.h | 3 +
> drivers/gpu/drm/xe/xe_hw_engine_types.h | 2 +
> drivers/gpu/drm/xe/xe_module.c | 5 +
> drivers/gpu/drm/xe/xe_oa.c | 2314 +++++++++++++++++++++
> drivers/gpu/drm/xe/xe_oa.h | 27 +
> drivers/gpu/drm/xe/xe_oa_types.h | 307 +++
> drivers/gpu/drm/xe/xe_perf.c | 36 +
> drivers/gpu/drm/xe/xe_perf.h | 16 +
> drivers/gpu/drm/xe/xe_query.c | 5 +-
> include/uapi/drm/xe_drm.h | 288 ++-
> 18 files changed, 3272 insertions(+), 2 deletions(-)
> create mode 100644 drivers/gpu/drm/xe/regs/xe_oa_regs.h
> create mode 100644 drivers/gpu/drm/xe/xe_oa.c
> create mode 100644 drivers/gpu/drm/xe/xe_oa.h
> create mode 100644 drivers/gpu/drm/xe/xe_oa_types.h
> create mode 100644 drivers/gpu/drm/xe/xe_perf.c
> create mode 100644 drivers/gpu/drm/xe/xe_perf.h
>
>--
>2.41.0
>
More information about the Intel-xe
mailing list