linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/13] perf arm-spe: Support new events in FEAT_SPEv1p4
@ 2025-06-30 15:23 Leo Yan
  2025-06-30 15:23 ` [PATCH v2 01/13] drivers/perf: arm_spe: Expose event filter Leo Yan
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Leo Yan @ 2025-06-30 15:23 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 12 enhance memory-level information based on the new
events introduced in FEAT_SPEv1p4.

Patch 13 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 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 (12):
      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: 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                          | 206 ++++++++++++++++-----
 tools/perf/util/arm-spe.h                          |   2 +
 8 files changed, 222 insertions(+), 118 deletions(-)
---
base-commit: d0b3b7b22dfa1f4b515fd3a295b3fd958f9e81af
change-id: 20250610-arm_spe_support_hitm_overhead_v1_public-c4a263385434

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


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

end of thread, other threads:[~2025-07-01  8:20 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-30 15:23 [PATCH v2 00/13] perf arm-spe: Support new events in FEAT_SPEv1p4 Leo Yan
2025-06-30 15:23 ` [PATCH v2 01/13] drivers/perf: arm_spe: Expose event filter Leo Yan
2025-06-30 15:23 ` [PATCH v2 02/13] perf arm_spe: Correct setting remote access Leo Yan
2025-06-30 15:23 ` [PATCH v2 03/13] perf arm_spe: Correct memory level for " Leo Yan
2025-06-30 15:23 ` [PATCH v2 04/13] perf arm_spe: Use full type for data_src Leo Yan
2025-06-30 15:23 ` [PATCH v2 05/13] perf arm_spe: Directly propagate raw event Leo Yan
2025-06-30 15:23 ` [PATCH v2 06/13] perf arm_spe: Decode event types for new features Leo Yan
2025-06-30 15:23 ` [PATCH v2 07/13] perf arm_spe: Add "event_filter" entry in meta data Leo Yan
2025-06-30 15:23 ` [PATCH v2 08/13] perf arm_spe: Refine memory level filling Leo Yan
2025-06-30 15:23 ` [PATCH v2 09/13] perf arm_spe: Separate setting of memory levels for loads and stores Leo Yan
2025-06-30 15:23 ` [PATCH v2 10/13] perf arm_spe: Fill memory levels for FEAT_SPEv1p4 Leo Yan
2025-06-30 15:23 ` [PATCH v2 11/13] perf arm_spe: Refactor arm_spe__get_metadata_by_cpu() Leo Yan
2025-06-30 16:53   ` Ian Rogers
2025-07-01  8:20     ` Leo Yan
2025-06-30 15:23 ` [PATCH v2 12/13] perf arm_spe: Set HITM flag Leo Yan
2025-06-30 15:23 ` [PATCH v2 13/13] 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).