intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v15 0/6] drm/xe/pmu: PMU interface for Xe
@ 2025-01-23  4:19 Lucas De Marchi
  2025-01-23  4:19 ` [PATCH v15 1/6] drm/xe/pmu: Enable PMU interface Lucas De Marchi
                   ` (13 more replies)
  0 siblings, 14 replies; 23+ messages in thread
From: Lucas De Marchi @ 2025-01-23  4:19 UTC (permalink / raw)
  To: intel-xe
  Cc: Vinay Belgaumkar, Riana Tauro, Peter Zijlstra, linux-perf-users,
	Rodrigo Vivi, Lucas De Marchi

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@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


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-01-23 16:36 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-23  4:19 [PATCH v15 0/6] drm/xe/pmu: PMU interface for Xe Lucas De Marchi
2025-01-23  4:19 ` [PATCH v15 1/6] drm/xe/pmu: Enable PMU interface Lucas De Marchi
2025-01-23  4:19 ` [PATCH v15 2/6] drm/xe/pmu: Assert max gt Lucas De Marchi
2025-01-23  4:19 ` [PATCH v15 3/6] drm/xe/pmu: Extract xe_pmu_event_update() Lucas De Marchi
2025-01-23 10:20   ` Rodrigo Vivi
2025-01-23 14:59     ` Lucas De Marchi
2025-01-23 15:24       ` Rodrigo Vivi
2025-01-23  4:19 ` [PATCH v15 4/6] drm/xe/pmu: Add attribute skeleton Lucas De Marchi
2025-01-23 10:13   ` Rodrigo Vivi
2025-01-23 13:54   ` Riana Tauro
2025-01-23 14:48     ` Lucas De Marchi
2025-01-23 15:02       ` Riana Tauro
2025-01-23 16:36         ` Lucas De Marchi
2025-01-23  4:19 ` [PATCH v15 5/6] drm/xe/pmu: Get/put runtime pm on event init Lucas De Marchi
2025-01-23  4:19 ` [PATCH v15 6/6] drm/xe/pmu: Add GT C6 events Lucas De Marchi
2025-01-23  4:29 ` ✓ CI.Patch_applied: success for drm/xe/pmu: PMU interface for Xe (rev15) Patchwork
2025-01-23  4:29 ` ✗ CI.checkpatch: warning " Patchwork
2025-01-23  4:30 ` ✓ CI.KUnit: success " Patchwork
2025-01-23  4:47 ` ✓ CI.Build: " Patchwork
2025-01-23  4:49 ` ✓ CI.Hooks: " Patchwork
2025-01-23  4:51 ` ✓ CI.checksparse: " Patchwork
2025-01-23  5:17 ` ✓ Xe.CI.BAT: " Patchwork
2025-01-23 15:16 ` ✗ Xe.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).