[PATCH v2 00/11] perf script: Refactor branch flags for Arm SPE
James Clark
james.clark at linaro.org
Mon Feb 17 08:28:52 PST 2025
On 14/02/2025 11:19 am, Leo Yan wrote:
> This patch series refactors branch flags for support Arm SPE. The patch
> set is divided into two parts, the first part is for refactoring common
> code and the second part is for enabling Arm SPE.
>
> For refactoring branch flags, the sample flaghs are classified as branch
> types and events. A program branch type can be conditional branch,
> function call, return or expection taken. A branch event happens when
> taking a branch. This series combines branch types and the associated
> events to present a sample flag.
>
> The second part is to enable Arm SPE's sample flags for expressing
> branch types and events, and support branch stack.
>
> Patches 01 - 03 are to refactor branch types and branch events.
> Patches 04, 05 extend to support not-taken event.
>
> Patches 06 - 09 enables branch flags in Arm SPE. This allows to print
> out sample flags for samples.
>
> Patch 10 supports branch stack for Arm SPE. Patch 11 is an enhancement
> for PBT feature.
>
> Changes from v1:
> - For patch 05, changed to append the 'not_taken' bit in the branch_flags.
> This can avoid altering bit layout and cause breakage.
> - Added Ian's review tags.
>
>
> Leo Yan (11):
> perf script: Make printing flags reliable
> perf script: Refactor sample_flags_to_name() function
> perf script: Separate events from branch types
> perf script: Add not taken event for branches
> perf script: Add not taken event for branch stack
> perf arm-spe: Extend branch operations
> perf arm-spe: Decode transactional event
> perf arm-spe: Fill branch operations and events to record
> perf arm-spe: Set sample flags with supplement info
> perf arm-spe: Add branch stack
> perf arm-spe: Support previous branch target (PBT) address
>
> tools/perf/builtin-script.c | 30 ++--
> .../util/arm-spe-decoder/arm-spe-decoder.c | 23 ++-
> .../util/arm-spe-decoder/arm-spe-decoder.h | 11 +-
> .../arm-spe-decoder/arm-spe-pkt-decoder.c | 14 +-
> .../arm-spe-decoder/arm-spe-pkt-decoder.h | 12 +-
> tools/perf/util/arm-spe.c | 135 ++++++++++++++++++
> tools/perf/util/branch.h | 3 +-
> tools/perf/util/event.h | 12 +-
> tools/perf/util/trace-event-scripting.c | 116 +++++++++++----
> tools/perf/util/trace-event.h | 2 +
> 10 files changed, 307 insertions(+), 51 deletions(-)
>
Just one potential issue on patch 8, with that fixed:
Reviewed-by: James Clark <james.clark at linaro.org>
More information about the linux-arm-kernel
mailing list