Re: [PATCH 12/12] perf script: Add --show-all-events option

From: Jiri Olsa
Date: Wed May 22 2019 - 17:33:17 EST


On Wed, May 22, 2019 at 01:18:04PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, May 08, 2019 at 03:20:10PM +0200, Jiri Olsa escreveu:
> > Adding --show-all-events option to show all
> > side-bad events with single option, like:
> >
> > $ perf script --show-all-events
> > swapper 0 [000] 0.000000: PERF_RECORD_MMAP -1/0: [0xffffffffa6000000(0xc00e41) @ 0xffffffffa6000000]: x [kernel.kallsyms]_text
> > ...
> > swapper 0 [000] 0.000000: PERF_RECORD_KSYMBOL addr ffffffffc01bc362 len 229 type 1 flags 0x0 name bpf_prog_7be49e3934a125ba
> > swapper 0 [000] 0.000000: PERF_RECORD_BPF_EVENT type 1, flags 0, id 29
> > ...
> > swapper 0 [000] 0.000000: PERF_RECORD_FORK(1:1):(0:0)
> > systemd 0 [000] 0.000000: PERF_RECORD_COMM: systemd:1/1
> > ...
> > swapper 0 [000] 63587.039518: 1 cycles: ffffffffa60698b4 [unknown] ([kernel.kallsyms])
> > swapper 0 [000] 63587.039522: 1 cycles: ffffffffa60698b4 [unknown] ([kernel.kallsyms])
>
> Strange:
>
> [root@quaco pt]#
> [root@quaco pt]# perf evlist -v
> intel_pt//ku: type: 8, size: 112, config: 0x300e601, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, exclude_hv: 1, sample_id_all: 1
> dummy:u: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|IDENTIFIER, read_format: ID, inherit: 1, exclude_kernel: 1, exclude_hv: 1, mmap: 1, comm: 1, task: 1, sample_id_all: 1, mmap2: 1, comm_exec: 1, context_switch: 1, ksymbol: 1, bpf_event: 1
> [root@quaco pt]#
>
> Then:
>
> [root@quaco pt]# perf script --show-bpf-events | head
> 0 PERF_RECORD_KSYMBOL addr ffffffffc029a6c3 len 229 type 1 flags 0x0 name bpf_prog_7be49e3934a125ba
> 0 PERF_RECORD_BPF_EVENT type 1, flags 0, id 47
> 0 PERF_RECORD_KSYMBOL addr ffffffffc029c1ae len 229 type 1 flags 0x0 name bpf_prog_2a142ef67aaad174
> 0 PERF_RECORD_BPF_EVENT type 1, flags 0, id 48
> 0 PERF_RECORD_KSYMBOL addr ffffffffc02ddd1c len 229 type 1 flags 0x0 name bpf_prog_7be49e3934a125ba
> 0 PERF_RECORD_BPF_EVENT type 1, flags 0, id 49
> 0 PERF_RECORD_KSYMBOL addr ffffffffc02dfc11 len 229 type 1 flags 0x0 name bpf_prog_2a142ef67aaad174
> 0 PERF_RECORD_BPF_EVENT type 1, flags 0, id 50
> 0 PERF_RECORD_KSYMBOL addr ffffffffc045da0a len 229 type 1 flags 0x0 name bpf_prog_7be49e3934a125ba
> 0 PERF_RECORD_BPF_EVENT type 1, flags 0, id 51
> [root@quaco pt]#
>
> But:
>
> [root@quaco pt]# perf script --show-all-events | head
> Intel Processor Trace requires ordered events
> 0x2a0 [0x60]: failed to process type: 1 [Invalid argument]
> [root@quaco pt]#

hum, so round events disable ordering, which is required by pt

if (script->show_round_events) {
script->tool.ordered_events = false;
..

so the --show-round-events option always fails on intel_pt data:

[jolsa@krava perf]$ ./perf script --show-round-events
Intel Processor Trace requires ordered events
0x2e8 [0x38]: failed to process type: 3 [Invalid argument]

>
> So I have all patches but this last one, will test and push Ingo's way
> so that we make progress, we can get this one later after we figure this
> out.

thanks,
jirka