linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Enable display of partial and empty SVE predicates from Arm SPE data
@ 2023-03-20 15:15 James Clark
  2023-03-20 15:15 ` [PATCH v2 1/4] perf event: Add simd_flags field to perf_sample James Clark
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: James Clark @ 2023-03-20 15:15 UTC (permalink / raw)
  To: linux-perf-users, Anshuman.Khandual
  Cc: James Clark, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Ian Rogers, Adrian Hunter, John Garry,
	Will Deacon, Mike Leach, Leo Yan, linux-kernel, linux-arm-kernel

Changes since v1:
 * Rebase onto perf/core because it no longer applied cleanly

------------

Hi,

I'm submitting this on behalf of German who moved on to work on other
things in Arm before he could finish it off.

The predicate information is available on SPE samples from 
Armv8.3 (FEAT_SPEv1p1), this could be useful info for profiling SVE
code as partial and empty predicates indicate that the full vector
width isn't being used. There is a good example in the last commit
message.

Though currently, there isn't a suitable field to store the info
on Perf samples, so this change also adds a new SIMD field.
This field could be used by other architectures, but currently there
is only one bit reserved to identify SVE. It's only added to
struct perf_sample on the userspace side, and isn't part of the kernel
ABI, so it doesn't survive a perf inject. Although this is the
same behavior for some other fields like branch flags, so I don't
think it should be an issue to do something similar here. Perhaps in
the future we could make sure everything that is synthesised from
auxtrace data also makes it back into the new Perf inject file without
being lost.

German Gomez (4):
  perf event: Add simd_flags field to perf_sample
  perf arm-spe: Refactor arm-spe to support operation packet type
  perf arm-spe: Add SVE flags to the SPE samples
  perf report: Add 'simd' sort field

 tools/perf/Documentation/perf-report.txt      |  1 +
 .../util/arm-spe-decoder/arm-spe-decoder.c    | 30 ++++++++++--
 .../util/arm-spe-decoder/arm-spe-decoder.h    | 47 +++++++++++++++----
 tools/perf/util/arm-spe.c                     | 28 +++++++++--
 tools/perf/util/hist.c                        |  1 +
 tools/perf/util/hist.h                        |  1 +
 tools/perf/util/sample.h                      | 13 +++++
 tools/perf/util/sort.c                        | 47 +++++++++++++++++++
 tools/perf/util/sort.h                        |  2 +
 9 files changed, 152 insertions(+), 18 deletions(-)


base-commit: 96d541699e5c50b1bc2d50c83cd7145994d5f071
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-03-20 22:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-20 15:15 [PATCH v2 0/4] Enable display of partial and empty SVE predicates from Arm SPE data James Clark
2023-03-20 15:15 ` [PATCH v2 1/4] perf event: Add simd_flags field to perf_sample James Clark
2023-03-20 15:15 ` [PATCH v2 2/4] perf arm-spe: Refactor arm-spe to support operation packet type James Clark
2023-03-20 15:15 ` [PATCH v2 3/4] perf arm-spe: Add SVE flags to the SPE samples James Clark
2023-03-20 15:15 ` [PATCH v2 4/4] perf report: Add 'simd' sort field James Clark
2023-03-20 17:50   ` Ian Rogers
2023-03-20 17:50 ` [PATCH v2 0/4] Enable display of partial and empty SVE predicates from Arm SPE data Ian Rogers
2023-03-20 22:29   ` Arnaldo Carvalho de Melo

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