[PATCH 0/2] perf, intel: Add support for PEBS output to Intel PT

From: Alexander Shishkin
Date: Thu May 02 2019 - 06:50:50 EST

Hi Peter,

New PEBS feature: output to Intel PT stream instead of the DS area. It's
theoretically useful in virtualized environments, where DS area can't be
used. It's also good for those who are interested in instruction trace for
context of the PEBS events. As PEBS goes, it can provide LBR context with
all the branch-related information that PT doesn't provide at the moment.

PEBS records are packetized in the PT stream, so instead of extracting
them in the PMI, we leave it to the perf tool, because real time PT
decoding is not practical. Tooling patches are not included, but can be
found here [1].

Added is an attribute bit 'aux_source' to mean that an event is a source of
AUX data. This bit enables PEBS output to PT.

[1] http://git.infradead.org/users/ahunter/linux-perf.git

Alexander Shishkin (2):
perf: Allow normal events to be sources of AUX data
perf/x86/intel: Support PEBS output to PT

arch/x86/events/intel/core.c | 13 +++++++
arch/x86/events/intel/ds.c | 59 +++++++++++++++++++++++++++++++-
arch/x86/events/perf_event.h | 9 +++++
arch/x86/include/asm/msr-index.h | 3 ++
include/uapi/linux/perf_event.h | 3 +-
kernel/events/core.c | 9 +++++
6 files changed, 94 insertions(+), 2 deletions(-)