linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/14] perf arm-spe: Support new events in FEAT_SPEv1p4
@ 2025-07-07 13:39 Leo Yan
  2025-07-07 13:39 ` [PATCH v3 01/14] drivers/perf: arm_spe: Expose event filter Leo Yan
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Leo Yan @ 2025-07-07 13:39 UTC (permalink / raw)
  To: Will Deacon, Mark Rutland, James Clark, Arnaldo Carvalho de Melo,
	Namhyung Kim, Alexander Shishkin, Jiri Olsa, Ian Rogers,
	Adrian Hunter, German Gomez, Ali Saidi
  Cc: Arnaldo Carvalho de Melo, linux-arm-kernel, linux-perf-users,
	Leo Yan

This series adds support for new event types introduced in Arm SPE v1.4.

The first patch modifies the Arm SPE driver to expose 'event_filter'
entry in SysFS caps folder. This allows users to discover the event
filter is supported by the hardware.

Patch 02 is a fixing for setting remote bit. Patch 03 is for fixing
memory level info for remote access.

Patch 04 is a refactoring for using full type for data_src.

Patch 05 refactors the code to avoid duplicate definitions of event
bits.

Patch 06 dumps new event bits in raw format via the 'perf script -D'
command.

Patches 07 to 13 enhance memory-level information based on the new
events introduced in FEAT_SPEv1p4.

Patch 14 changes the logic to parse events after data source analysis.
The event information complements the data source and provides a more
complete view. As a result, Arm SPE can now support both HITM and peer
modes (See the "--display" options in perf c2c).

This series has been tested on FVP RevC platform.

Note: for a local HITM event, the emulation does not provide any info
for LLC. However, the perf c2c tool relies on LLC + HITM for accounting
local HITM. I to manually set the LLC HIT flag to verify the
"perf c2c -d tot" command.

---
Changes in v3:
- Retrieve CPU number from PMU type (Ian).
- Link to v2: https://lore.kernel.org/r/20250630-arm_spe_support_hitm_overhead_v1_public-v2-0-2e1afab313b9@arm.com

Changes in v2:
- Dropped the kernel change for caching "pmsevfr_res0" (James)
- Renamed the "events" entry to "event_filter" (James)
- Added a new refactoring patch 04 (James)
- Updated memory level info for remote access (James)
- Link to v1: https://lore.kernel.org/r/20250613-arm_spe_support_hitm_overhead_v1_public-v1-0-6faecf0a8775@arm.com

---
James Clark (1):
      perf arm_spe: Use full type for data_src

Leo Yan (13):
      drivers/perf: arm_spe: Expose event filter
      perf arm_spe: Correct setting remote access
      perf arm_spe: Correct memory level for remote access
      perf arm_spe: Directly propagate raw event
      perf arm_spe: Decode event types for new features
      perf arm_spe: Add "event_filter" entry in meta data
      perf arm_spe: Refine memory level filling
      perf arm_spe: Separate setting of memory levels for loads and stores
      perf arm_spe: Fill memory levels for FEAT_SPEv1p4
      perf arm_spe: Improve CPU number retrieving in per-thread mode
      perf arm_spe: Refactor arm_spe__get_metadata_by_cpu()
      perf arm_spe: Set HITM flag
      perf arm_spe: Allow parsing both data source and events

 drivers/perf/arm_spe_pmu.c                         |  36 ++--
 tools/perf/arch/arm64/util/arm-spe.c               |   5 +
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.c  |  37 +---
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h  |  33 ++--
 .../util/arm-spe-decoder/arm-spe-pkt-decoder.c     |  14 ++
 .../util/arm-spe-decoder/arm-spe-pkt-decoder.h     |   7 +
 tools/perf/util/arm-spe.c                          | 220 ++++++++++++++++-----
 tools/perf/util/arm-spe.h                          |   2 +
 8 files changed, 234 insertions(+), 120 deletions(-)
---
base-commit: d7b8f8e20813f0179d8ef519541a3527e7661d3a
change-id: 20250610-arm_spe_support_hitm_overhead_v1_public-c4a263385434

Best regards,
-- 
Leo Yan <leo.yan@arm.com>


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

end of thread, other threads:[~2025-07-17 11:43 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-07 13:39 [PATCH v3 00/14] perf arm-spe: Support new events in FEAT_SPEv1p4 Leo Yan
2025-07-07 13:39 ` [PATCH v3 01/14] drivers/perf: arm_spe: Expose event filter Leo Yan
2025-07-14 13:07   ` Will Deacon
2025-07-14 15:09     ` Leo Yan
2025-07-14 15:13       ` Will Deacon
2025-07-14 15:42         ` Leo Yan
2025-07-15 11:15           ` James Clark
2025-07-17 11:43             ` Will Deacon
2025-07-07 13:39 ` [PATCH v3 02/14] perf arm_spe: Correct setting remote access Leo Yan
2025-07-07 13:39 ` [PATCH v3 03/14] perf arm_spe: Correct memory level for " Leo Yan
2025-07-07 13:39 ` [PATCH v3 04/14] perf arm_spe: Use full type for data_src Leo Yan
2025-07-07 13:39 ` [PATCH v3 05/14] perf arm_spe: Directly propagate raw event Leo Yan
2025-07-07 13:39 ` [PATCH v3 06/14] perf arm_spe: Decode event types for new features Leo Yan
2025-07-07 13:39 ` [PATCH v3 07/14] perf arm_spe: Add "event_filter" entry in meta data Leo Yan
2025-07-07 13:39 ` [PATCH v3 08/14] perf arm_spe: Refine memory level filling Leo Yan
2025-07-07 13:39 ` [PATCH v3 09/14] perf arm_spe: Separate setting of memory levels for loads and stores Leo Yan
2025-07-07 13:39 ` [PATCH v3 10/14] perf arm_spe: Fill memory levels for FEAT_SPEv1p4 Leo Yan
2025-07-07 13:39 ` [PATCH v3 11/14] perf arm_spe: Improve CPU number retrieving in per-thread mode Leo Yan
2025-07-07 13:39 ` [PATCH v3 12/14] perf arm_spe: Refactor arm_spe__get_metadata_by_cpu() Leo Yan
2025-07-07 13:39 ` [PATCH v3 13/14] perf arm_spe: Set HITM flag Leo Yan
2025-07-07 13:39 ` [PATCH v3 14/14] perf arm_spe: Allow parsing both data source and events Leo Yan

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).