linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Clark <james.clark@linaro.org>
To: Leo Yan <leo.yan@arm.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	linux-perf-users@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>
Subject: Re: [PATCH 17/25] perf arm_spe: Expose length for SVE and SME operations
Date: Thu, 9 Oct 2025 10:45:44 +0100	[thread overview]
Message-ID: <07902090-801d-456d-bcaf-5f3b2254564d@linaro.org> (raw)
In-Reply-To: <20250929-perf_support_arm_spev1-3-v1-17-1150b3c83857@arm.com>



On 29/09/2025 5:37 pm, Leo Yan wrote:
> Record length for SVE and SME operations into records.
> 
> Signed-off-by: Leo Yan <leo.yan@arm.com>
> ---
>   tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 3 +++
>   tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 1 +
>   2 files changed, 4 insertions(+)
> 
> diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> index 9e02b2bdd1177193996d071dd88f969e25b1ad86..82e3053131db62603553bd092388879ce9a9bcd4 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> @@ -220,6 +220,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder)
>   						decoder->record.op |= ARM_SPE_OP_ATOMIC;
>   				} else if (SPE_OP_PKT_LDST_SUBCLASS_SVE_SME_REG(payload)) {
>   					decoder->record.op |= ARM_SPE_OP_SVE;
> +					decoder->record.length = SPE_OP_PKG_SVE_EVL(payload);
>   					if (payload & SPE_OP_PKT_SVE_PRED)
>   						decoder->record.op |= ARM_SPE_OP_PRED;
>   					if (payload & SPE_OP_PKT_SVE_SG)
> @@ -239,12 +240,14 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder)
>   				decoder->record.op |= ARM_SPE_OP_OTHER;
>   				if (SPE_OP_PKT_OTHER_SUBCLASS_SVE(payload)) {
>   					decoder->record.op |= ARM_SPE_OP_SVE | ARM_SPE_OP_DP;
> +					decoder->record.length = SPE_OP_PKG_SVE_EVL(payload);
>   					if (payload & SPE_OP_PKT_OTHER_FP)
>   						decoder->record.op |= ARM_SPE_OP_FP;
>   					if (payload & SPE_OP_PKT_SVE_PRED)
>   						decoder->record.op |= ARM_SPE_OP_PRED;
>   				} else if (SPE_OP_PKT_OTHER_SUBCLASS_SME(payload)) {
>   					decoder->record.op |= ARM_SPE_OP_SME;
> +					decoder->record.length = SPE_OP_PKG_SME_ETS(payload);

These are all assigned but never read. I'm not sure if that's a mistake 
or they're just there for completeness. I don't think there's much point 
in going for completeness unless it actually makes it all the way to the 
user though. It would be better to leave it out and finish it another time.

>   					if (payload & SPE_OP_PKT_OTHER_FP)
>   						decoder->record.op |= ARM_SPE_OP_FP;
>   				} else if (SPE_OP_PKT_OTHER_SUBCLASS_OTHER(payload)) {
> diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> index d4574268cf793efe154f252b3e2af9c721bada97..b9288cd774bea2534d9991213c942dcbaf2a7232 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> @@ -122,6 +122,7 @@ struct arm_spe_record {
>   	u64 phys_addr;
>   	u64 context_id;
>   	u16 source;
> +	u32 length;
>   };
>   
>   struct arm_spe_insn;
> 


  reply	other threads:[~2025-10-09  9:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-29 16:37 [PATCH 00/25] perf arm_spe: Extend operations Leo Yan
2025-09-29 16:37 ` [PATCH 01/25] perf arm_spe: Fix memset subclass in operation Leo Yan
2025-09-29 16:37 ` [PATCH 02/25] perf arm_spe: Unify operation naming Leo Yan
2025-09-29 16:37 ` [PATCH 03/25] perf arm_spe: Decode GCS operation Leo Yan
2025-09-29 16:37 ` [PATCH 04/25] perf arm_spe: Rename SPE_OP_PKT_IS_OTHER_SVE_OP macro Leo Yan
2025-09-29 16:37 ` [PATCH 05/25] perf arm_spe: Decode ASE and FP fields in other operation Leo Yan
2025-10-09  9:04   ` James Clark
2025-10-09  9:06     ` James Clark
2025-09-29 16:37 ` [PATCH 06/25] perf arm_spe: Decode SME data processing packet Leo Yan
2025-09-29 16:37 ` [PATCH 07/25] perf arm_spe: Remove unused operation types Leo Yan
2025-09-29 16:37 ` [PATCH 08/25] perf arm_spe: Consolidate " Leo Yan
2025-10-09  9:18   ` James Clark
2025-09-29 16:37 ` [PATCH 09/25] perf arm_spe: Introduce data processing macro for SVE operations Leo Yan
2025-09-29 16:37 ` [PATCH 10/25] perf arm_spe: Report register access in record Leo Yan
2025-09-29 16:37 ` [PATCH 11/25] perf arm_spe: Report MTE allocation tag " Leo Yan
2025-10-09  9:32   ` James Clark
2025-09-29 16:37 ` [PATCH 12/25] perf arm_spe: Report extended memory operations in records Leo Yan
2025-09-29 16:37 ` [PATCH 13/25] perf arm_spe: Report associated info for SVE / SME operations Leo Yan
2025-09-29 16:37 ` [PATCH 14/25] perf arm_spe: Report memset and memcpy in records Leo Yan
2025-10-09  9:33   ` James Clark
2025-09-29 16:37 ` [PATCH 15/25] perf arm_spe: Report GCS in record Leo Yan
2025-09-29 16:37 ` [PATCH 16/25] perf arm_spe: Expose SIMD information in other operations Leo Yan
2025-09-29 16:37 ` [PATCH 17/25] perf arm_spe: Expose length for SVE and SME operations Leo Yan
2025-10-09  9:45   ` James Clark [this message]
2025-09-29 16:37 ` [PATCH 18/25] perf arm_spe: Synthesize memory samples for SIMD operations Leo Yan
2025-09-29 16:37 ` [PATCH 19/25] perf/uapi: Extend data source fields Leo Yan
2025-10-09 10:00   ` James Clark
2025-09-29 16:37 ` [PATCH 20/25] perf mem: Print extended fields Leo Yan
2025-10-09 10:02   ` James Clark
2025-10-09 12:49     ` Arnaldo Carvalho de Melo
2025-09-29 16:37 ` [PATCH 21/25] perf arm_spe: Set extended fields in data source Leo Yan
2025-09-29 16:37 ` [PATCH 22/25] perf sort: Support sort ASE and SME Leo Yan
2025-10-09 10:05   ` James Clark
2025-09-29 16:37 ` [PATCH 23/25] perf sort: Sort disabled and full predicated flags Leo Yan
2025-09-29 16:38 ` [PATCH 24/25] perf report: Update document for SIMD flags Leo Yan
2025-09-29 16:38 ` [PATCH 25/25] perf arm_spe: Improve SIMD flags setting Leo Yan

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=07902090-801d-456d-bcaf-5f3b2254564d@linaro.org \
    --to=james.clark@linaro.org \
    --cc=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=leo.yan@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@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).