[PATCH v4 0/4] tools perf: Add branch speculation info

From: Sandipan Das
Date: Thu Feb 02 2023 - 07:26:40 EST


AMD Last Branch Record Extension Version 2 (LbrExtV2) provides branch
speculation information and the perf UAPI is extended to provide this in
a generic way. Make perf tool show this additional information.

The UAPI changes can be found in commit 93315e46b000 ("perf/core: Add
speculation info to branch entries").

Requesting help from folks having access to big-endian systems to test
changes in the sample parsing test as I was only able to test these in
a ppc64 simulator.

Previous versions can be found at:
v3: https://lore.kernel.org/all/cover.1675057032.git.sandipan.das@xxxxxxx/
v2: https://lore.kernel.org/all/cover.1664356751.git.sandipan.das@xxxxxxx/
v1: https://lore.kernel.org/all/cover.1660217326.git.sandipan.das@xxxxxxx/

Changes in v4:
- Update tests that were failing due to changes in perf output and
sample parsing (thanks to Arnaldo for reporting).

Changes in v3:
- Drop tools-side UAPI changes as they have already been added by other
commits.
- Rebase on top of latest perf/core.

Changes in v2:
- Drop msr-index.h related changes for now.
- Rebase on top of latest perf/core.
- Fix UAPI breakage introduced by the ARM64 BRBE changes to perf branch
entry.

Sandipan Das (4):
perf script: Show branch speculation info
perf session: Show branch speculation info in raw dump
perf test sample-parsing: Update expected branch flags
perf test brstack: Update regex to include spec field

tools/perf/builtin-script.c | 5 +++--
tools/perf/tests/sample-parsing.c | 2 +-
tools/perf/tests/shell/test_brstack.sh | 18 +++++++++---------
tools/perf/util/branch.c | 15 +++++++++++++++
tools/perf/util/branch.h | 2 ++
tools/perf/util/evsel.c | 15 ++++++++++++---
tools/perf/util/session.c | 5 +++--
7 files changed, 45 insertions(+), 17 deletions(-)

--
2.34.1