Re: [PATCH v6 7/7] perf intel-pt: Add brief documentation for PEBS via Intel PT

From: Arnaldo Carvalho de Melo
Date: Tue Aug 13 2019 - 09:51:54 EST


Em Tue, Aug 06, 2019 at 11:46:06AM +0300, Alexander Shishkin escreveu:
> From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
>
> Document how to select PEBS via Intel PT and how to display synthesized
> PEBS samples.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> ---
> tools/perf/Documentation/intel-pt.txt | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/tools/perf/Documentation/intel-pt.txt b/tools/perf/Documentation/intel-pt.txt
> index 50c5b60101bd..8dc513b6607b 100644
> --- a/tools/perf/Documentation/intel-pt.txt
> +++ b/tools/perf/Documentation/intel-pt.txt
> @@ -919,3 +919,18 @@ amended to take the number of elements as a parameter.
>
> Note there is currently no advantage to using Intel PT instead of LBR, but
> that may change in the future if greater use is made of the data.
> +
> +
> +PEBS via Intel PT
> +=================
> +
> +Some hardware has the feature to redirect PEBS records to the Intel PT trace.
> +Recording is selected by using the aux-output config term e.g.
> +
> + perf record -c 10000 -e cycles/aux-output/ppp -e intel_pt/branch=0/ uname
> +
> +Note that currently, software only supports redirecting at most one PEBS event.

So, with these patches, but not the kernel ones I end up getting:

[root@quaco ~]# perf record -c 10000 -e cycles/aux-output/ppp -e intel_pt/branch=0/ uname
Error:
The sys_perf_event_open() syscall returned with 22 (Invalid argument)
for event (cycles/aux-output/ppp).
/bin/dmesg | grep -i perf may provide additional information.

[root@quaco ~]#

I'll check if I can make it spew a more helpful message, then build a
kernel with the kernel patches and try with it as well.

PeterZ has the kernel ones landed on tip? I guess not, as perf/core I
have should be in sync...

- Arnaldo

> +To display PEBS events from the Intel PT trace, use the itrace 'o' option e.g.
> +
> + perf script --itrace=oe
> --
> 2.20.1