[PATCH v3 0/4] perf arm-spe: Track pid/tid for Arm SPE samples

From: German Gomez
Date: Thu Nov 11 2021 - 08:50:37 EST


The following patchset is an iteration on RFC [1] where pid/tid info is
assigned to the Arm SPE synthesized samples. Two methods of tracking
pids are considered: hardware-based (using Arm SPE CONTEXT packets), and
context-switch events (from perf) as fallback.

- Patch #1 enables pid tracking using RECORD_SWITCH* events from perf.
- Patch #2 updates perf-record documentation and arm-spe recording so
that they are consistent.
- Patch #3 saves the value of SPE CONTEXT packet to the arm_spe_record
struct.
- Patch #4 enables hardware-based pid tracking using SPE CONTEXT
packets.

---

Changes since v2:

- [PATCH 4/4] Set pid to '-1' in hardware-based pid&tid tracking.

Changes since v1:

- [PATCH 1/4] Fix authorship of commit.
- [PATCH 2/4] (New patch) Updated perf-record docs to reflect the
behavior of Arm SPE introduced by the previous patch.
- [PATCH 3/4] update initialization of context_id field to (u64)-1.
- [PATCH 4/4] Update handling of pid/tid tracking fallback following
Leo Yan's suggestion. Don't consider per-thread mode on this patch.

[1] https://lore.kernel.org/lkml/f877cfa6-9b25-6445-3806-ca44a4042eaf@xxxxxxx/T/#m8a9890e929d2eab54cd51296837ece5d1a473349

German Gomez (3):
perf arm-spe: Update --switch-events docs in perf-record
perf arm-spe: Save context ID in record
perf arm-spe: Support hardware-based PID tracing

Namhyung Kim (1):
perf arm-spe: Track task context switch for cpu-mode events

tools/perf/Documentation/perf-record.txt | 2 +-
tools/perf/arch/arm64/util/arm-spe.c | 8 +-
.../util/arm-spe-decoder/arm-spe-decoder.c | 2 +
.../util/arm-spe-decoder/arm-spe-decoder.h | 1 +
tools/perf/util/arm-spe.c | 120 ++++++++++++++----
5 files changed, 104 insertions(+), 29 deletions(-)

--
2.25.1