Message ID | 20250214111936.15168-1-leo.yan@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | perf script: Refactor branch flags for Arm SPE | expand |
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@linaro.org>