2019-08-06 08:49:00

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH v6 0/7] perf, intel: Add support for PEBS output to Intel PT

Hi Peter,

Seventh attempt at the PEBS-via-PT feature. The previous ones were [1], [2],
[3], [4], [5], [6]. This one finalizes the 'aux_output' naming in the code.

The 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.

[1] https://marc.info/?l=linux-kernel&m=155679423430002
[2] https://marc.info/?l=linux-kernel&m=156225605132606
[3] https://marc.info/?l=linux-kernel&m=156458152126310
[4] https://marc.info/?l=linux-kernel&m=156458348626999
[5] https://marc.info/?l=linux-kernel&m=156498939722450
[6] https://marc.info/?l=linux-kernel&m=156507654612681

Adrian Hunter (5):
perf tools: Add aux_output attribute flag
perf tools: Add itrace option 'o' to synthesize aux-output events
perf intel-pt: Process options for PEBS event synthesis
perf tools: Add aux-output config term
perf intel-pt: Add brief documentation for PEBS via Intel PT

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

arch/x86/events/core.c | 34 +++++++++
arch/x86/events/intel/core.c | 18 +++++
arch/x86/events/intel/ds.c | 51 ++++++++++++-
arch/x86/events/intel/pt.c | 5 ++
arch/x86/events/perf_event.h | 17 +++++
arch/x86/include/asm/intel_pt.h | 2 +
arch/x86/include/asm/msr-index.h | 4 +
include/linux/perf_event.h | 14 ++++
include/uapi/linux/perf_event.h | 3 +-
kernel/events/core.c | 93 ++++++++++++++++++++++++
tools/include/uapi/linux/perf_event.h | 3 +-
tools/perf/Documentation/intel-pt.txt | 15 ++++
tools/perf/Documentation/itrace.txt | 2 +
tools/perf/Documentation/perf-record.txt | 2 +
tools/perf/arch/x86/util/intel-pt.c | 23 ++++++
tools/perf/util/auxtrace.c | 4 +
tools/perf/util/auxtrace.h | 3 +
tools/perf/util/evsel.c | 4 +
tools/perf/util/evsel.h | 2 +
tools/perf/util/intel-pt.c | 18 +++++
tools/perf/util/parse-events.c | 8 ++
tools/perf/util/parse-events.h | 1 +
tools/perf/util/parse-events.l | 1 +
23 files changed, 324 insertions(+), 3 deletions(-)

--
2.20.1


2019-08-06 14:31:29

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH v6 0/7] perf, intel: Add support for PEBS output to Intel PT

On Tue, Aug 06, 2019 at 11:45:59AM +0300, Alexander Shishkin wrote:

> Seventh attempt at the PEBS-via-PT feature. The previous ones were [1], [2],
> [3], [4], [5], [6]. This one finalizes the 'aux_output' naming in the code.

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

Thanks Alexander!, I've picked up the above two patches.

> Adrian Hunter (5):
> perf tools: Add aux_output attribute flag
> perf tools: Add itrace option 'o' to synthesize aux-output events
> perf intel-pt: Process options for PEBS event synthesis
> perf tools: Add aux-output config term
> perf intel-pt: Add brief documentation for PEBS via Intel PT

Arnaldo, can you either ack (in which case I'll pick them up) or
otherwise take care of these?


2019-08-06 14:46:12

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v6 0/7] perf, intel: Add support for PEBS output to Intel PT

Em Tue, Aug 06, 2019 at 04:30:32PM +0200, Peter Zijlstra escreveu:
> On Tue, Aug 06, 2019 at 11:45:59AM +0300, Alexander Shishkin wrote:
>
> > Seventh attempt at the PEBS-via-PT feature. The previous ones were [1], [2],
> > [3], [4], [5], [6]. This one finalizes the 'aux_output' naming in the code.
>
> > Alexander Shishkin (2):
> > perf: Allow normal events to output AUX data
> > perf/x86/intel: Support PEBS output to PT
>
> Thanks Alexander!, I've picked up the above two patches.
>
> > Adrian Hunter (5):
> > perf tools: Add aux_output attribute flag
> > perf tools: Add itrace option 'o' to synthesize aux-output events
> > perf intel-pt: Process options for PEBS event synthesis
> > perf tools: Add aux-output config term
> > perf intel-pt: Add brief documentation for PEBS via Intel PT
>
> Arnaldo, can you either ack (in which case I'll pick them up) or
> otherwise take care of these?

Lemme pick those, so that it goes thru the container build tests, etc.

- Arnaldo