[PATCH v15 0/6] drm/xe/pmu: PMU interface for Xe

Lucas De Marchi lucas.demarchi at intel.com
Thu Jan 23 04:19:17 UTC 2025


Previous versions: https://patchwork.freedesktop.org/series/139121/

For perf/core: first patch adds a new macro in include/linux/perf_event.h.
If it's ok, I'd like to merge it through the drm branch so we can add the
pmu implementation to the xe driver. I'm also Cc'ing linux-perf-users at vger.kernel.org
on the other patches to show its usage.

For "drm/xe/pmu: Enable PMU interface", previously from several authors,
I squashed several changes I suggested in the past to clean it up and
reduce boilerplate code that resulted from copy-paste from i915. More
detailed changes can be found at
https://gitlab.freedesktop.org/demarchi/xe/-/tags/tip-xe-pmu-v13

I tested this on Lunar Lake and ADL with and without workload running
and the gt-c6 residency seems reasonable.

v13: this only has 1 event as Vinay said he will rebase the
frequency event on top.

v14
  - simplify the gt-c6 event: no more estimate based on suspend time
since we can't take the spinlock. A simpler version is to get runtime pm
when initializing the event and putting it back when it's done.  In
future we can come back with fancier things that don´t block the runtime
pm.

v15:
  - clean up no longer needed include files
  - drop no longer needed struct members
  - drop patch adding PMU_EVENT_ATTR_ID_STRING: this can be done later
    on top if desired, converting more drivers. There's no pressure need
    to be different than the other drivers. Instead, do the attributes
    similarly to drivers/iommu/intel/perfmon.c, but still keep a single
    macro to define both event, scale and event group

Lucas De Marchi (4):
  drm/xe/pmu: Assert max gt
  drm/xe/pmu: Extract xe_pmu_event_update()
  drm/xe/pmu: Add attribute skeleton
  drm/xe/pmu: Get/put runtime pm on event init

Vinay Belgaumkar (2):
  drm/xe/pmu: Enable PMU interface
  drm/xe/pmu: Add GT C6 events

 drivers/gpu/drm/xe/Makefile          |   2 +
 drivers/gpu/drm/xe/xe_device.c       |   3 +
 drivers/gpu/drm/xe/xe_device_types.h |   4 +
 drivers/gpu/drm/xe/xe_pmu.c          | 361 +++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_pmu.h          |  18 ++
 drivers/gpu/drm/xe/xe_pmu_types.h    |  39 +++
 6 files changed, 427 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/xe_pmu.c
 create mode 100644 drivers/gpu/drm/xe/xe_pmu.h
 create mode 100644 drivers/gpu/drm/xe/xe_pmu_types.h

-- 
2.48.0



More information about the Intel-xe mailing list