[PATCH 0/4] perf: add ability to sample direct call branches

Stephane Eranian
2015-10-13T07:09:50Z

This short patch series improves the perf_events interface by providing
a new branch_sample_type bit to sample only direct call branches. Up
until now, you could specify PERF_SAMPLE_BRANCH_ANY_CALL (any calls) or
PERF_SAMPLE_BRANCH_IND_CALL (indirect calls). But there was no way to
sample only direct calls. This series adds PERF_SAMPLE_BRANCH_CALL.

This covers direct function calls (incl. zero length calls) but not syscalls.
It can be used for those who want to analyze direct calls only.

The series includes the kernel generic code changes. The x86 support based on
the LBR filter (or sofware filter) and the PPC check.

The series also includes the changes to perf record to support the new filter:

$ perf record -j call -e cycles ......

Patch is relative to tip.git @ commit e6f195f Merge branch 'ras/core'

Stephane Eranian (4):
perf: add PERF_SAMPLE_BRANCH_CALL
perf/x86: add support for PERF_SAMPLE_BRANCH_CALL
perf/powerpc: add support for PERF_SAMPLE_BRANCH_CALL
perf record: add ability to sample call branches

arch/powerpc/perf/power8-pmu.c | 3 +++
arch/x86/kernel/cpu/perf_event_intel_lbr.c | 4 ++++
include/uapi/linux/perf_event.h | 2 ++
tools/perf/Documentation/perf-record.txt | 1 +
tools/perf/util/parse-branch-options.c | 1 +
5 files changed, 11 insertions(+)

--
1.9.1