linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Leo Yan <leo.yan@arm.com>
To: Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	 James Clark <james.clark@linaro.org>,
	 Arnaldo Carvalho de Melo <acme@kernel.org>,
	 Namhyung Kim <namhyung@kernel.org>,
	 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	 Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
	 Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	 linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org,  Leo Yan <leo.yan@arm.com>
Subject: [PATCH 05/12] perf arm_spe: Decode event types for new features
Date: Fri, 13 Jun 2025 16:53:38 +0100	[thread overview]
Message-ID: <20250613-arm_spe_support_hitm_overhead_v1_public-v1-5-6faecf0a8775@arm.com> (raw)
In-Reply-To: <20250613-arm_spe_support_hitm_overhead_v1_public-v1-0-6faecf0a8775@arm.com>

Decode new event types introduced by FEAT_SPEv1p4, FEAT_SPE_SME and
FEAT_SPE_SME.

The printed event names don't strictly follow the naming in the Arm ARM.
For example, the "Cache data modified" event is shown as "HITM", and the
"Data snooped" event is printed as "SNOOPED". Shorter names are easier
to read and review while preserving core meanings.

Signed-off-by: Leo Yan <leo.yan@arm.com>
---
 tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c | 14 ++++++++++++++
 tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h |  7 +++++++
 2 files changed, 21 insertions(+)

diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
index 13cadb2f1ceac7a90e359c4d6aa1d5fc5169e142..80561630253dd5c46f7e99b24fc13b99f346459f 100644
--- a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
+++ b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
@@ -314,6 +314,20 @@ static int arm_spe_pkt_desc_event(const struct arm_spe_pkt *packet,
 		arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-PARTIAL-PRED");
 	if (payload & BIT(EV_EMPTY_PREDICATE))
 		arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-EMPTY-PRED");
+	if (payload & BIT(EV_L2D_ACCESS))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " L2D-ACCESS");
+	if (payload & BIT(EV_L2D_MISS))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " L2D-MISS");
+	if (payload & BIT(EV_CACHE_DATA_MODIFIED))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " HITM");
+	if (payload & BIT(EV_RECENTLY_FETCHED))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " LFB");
+	if (payload & BIT(EV_DATA_SNOOPED))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " SNOOPED");
+	if (payload & BIT(EV_STREAMING_SVE_MODE))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " STREAMING-SVE");
+	if (payload & BIT(EV_SMCU))
+		arm_spe_pkt_out_string(&err, &buf, &buf_len, " SMCU");
 
 	return err;
 }
diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
index 2cdf9f6da2681244291445d54c5b13fe8a2e9d9a..d00c2481712dcc457eab2f5e9848ffc3150e6236 100644
--- a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
+++ b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
@@ -108,6 +108,13 @@ enum arm_spe_events {
 	EV_TRANSACTIONAL	= 16,
 	EV_PARTIAL_PREDICATE	= 17,
 	EV_EMPTY_PREDICATE	= 18,
+	EV_L2D_ACCESS		= 19,
+	EV_L2D_MISS		= 20,
+	EV_CACHE_DATA_MODIFIED	= 21,
+	EV_RECENTLY_FETCHED	= 22,
+	EV_DATA_SNOOPED		= 23,
+	EV_STREAMING_SVE_MODE	= 24,
+	EV_SMCU			= 25,
 };
 
 /* Operation packet header */

-- 
2.34.1


  parent reply	other threads:[~2025-06-13 15:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-13 15:53 [PATCH 00/12] perf arm-spe: Support new events in FEAT_SPEv1p4 Leo Yan
2025-06-13 15:53 ` [PATCH 01/12] drivers/perf: arm_spe: Store event reserved bits in driver data Leo Yan
2025-06-19 11:28   ` James Clark
2025-06-19 16:22     ` Leo Yan
2025-06-13 15:53 ` [PATCH 02/12] drivers/perf: arm_spe: Expose events capability Leo Yan
2025-06-19 11:32   ` James Clark
2025-06-19 16:24     ` Leo Yan
2025-06-13 15:53 ` [PATCH 03/12] perf arm_spe: Correct setting remote access Leo Yan
2025-06-19 13:53   ` James Clark
2025-06-19 16:45     ` Leo Yan
2025-06-13 15:53 ` [PATCH 04/12] perf arm_spe: Directly propagate raw event Leo Yan
2025-06-19 14:13   ` James Clark
2025-06-13 15:53 ` Leo Yan [this message]
2025-06-19 14:20   ` [PATCH 05/12] perf arm_spe: Decode event types for new features James Clark
2025-06-13 15:53 ` [PATCH 06/12] perf arm_spe: Add "events" entry in meta data Leo Yan
2025-06-19 15:46   ` James Clark
2025-06-13 15:53 ` [PATCH 07/12] perf arm_spe: Refine memory level filling Leo Yan
2025-06-20 10:27   ` James Clark
2025-06-13 15:53 ` [PATCH 08/12] perf arm_spe: Separate setting of memory levels for loads and stores Leo Yan
2025-06-20 10:30   ` James Clark
2025-06-13 15:53 ` [PATCH 09/12] perf arm_spe: Fill memory levels for FEAT_SPEv1p4 Leo Yan
2025-06-20 10:37   ` James Clark
2025-06-13 15:53 ` [PATCH 10/12] perf arm_spe: Refactor arm_spe__get_metadata_by_cpu() Leo Yan
2025-06-20 10:45   ` James Clark
2025-06-13 15:53 ` [PATCH 11/12] perf arm_spe: Set HITM flag Leo Yan
2025-06-20 10:51   ` James Clark
2025-06-13 15:53 ` [PATCH 12/12] perf arm_spe: Allow parsing both data source and events Leo Yan
2025-06-20 10:55   ` James Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250613-arm_spe_support_hitm_overhead_v1_public-v1-5-6faecf0a8775@arm.com \
    --to=leo.yan@arm.com \
    --cc=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=namhyung@kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).