Re: [PATCH v2] perf tool: Provide an option to print perf_event_open args and return value

Arnaldo Carvalho de Melo
2019-11-12T11:29:19Z

Em Fri, Nov 08, 2019 at 12:00:09PM +0100, Jiri Olsa escreveu:
> On Fri, Nov 08, 2019 at 03:11:28PM +0530, Ravi Bangoria wrote:
> > Perf record with verbose=2 already prints this information along with
> > whole lot of other traces which requires lot of scrolling. Introduce
> > an option to print only perf_event_open() arguments and return value.
> >
> > Sample o/p:
> > $ ./perf --debug perf-event-open=1 record -- ls > /dev/null
> > ------------------------------------------------------------
> > perf_event_attr:
> > size 112
> > { sample_period, sample_freq } 4000
> > sample_type IP|TID|TIME|PERIOD
> > read_format ID
> > disabled 1
> > inherit 1
> > exclude_kernel 1
> > mmap 1
> > comm 1
> > freq 1
> > enable_on_exec 1
> > task 1
> > precise_ip 3
> > sample_id_all 1
> > exclude_guest 1
> > mmap2 1
> > comm_exec 1
> > ksymbol 1
> > bpf_event 1
> > ------------------------------------------------------------
> > sys_perf_event_open: pid 4308 cpu 0 group_fd -1 flags 0x8 = 4
> > sys_perf_event_open: pid 4308 cpu 1 group_fd -1 flags 0x8 = 5
> > sys_perf_event_open: pid 4308 cpu 2 group_fd -1 flags 0x8 = 6
> > sys_perf_event_open: pid 4308 cpu 3 group_fd -1 flags 0x8 = 8
> > sys_perf_event_open: pid 4308 cpu 4 group_fd -1 flags 0x8 = 9
> > sys_perf_event_open: pid 4308 cpu 5 group_fd -1 flags 0x8 = 10
> > sys_perf_event_open: pid 4308 cpu 6 group_fd -1 flags 0x8 = 11
> > sys_perf_event_open: pid 4308 cpu 7 group_fd -1 flags 0x8 = 12
> > ------------------------------------------------------------
> > perf_event_attr:
> > type 1
> > size 112
> > config 0x9
> > watermark 1
> > sample_id_all 1
> > bpf_event 1
> > { wakeup_events, wakeup_watermark } 1
> > ------------------------------------------------------------
> > sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8
> > sys_perf_event_open failed, error -13
> > [ perf record: Woken up 1 times to write data ]
> > [ perf record: Captured and wrote 0.002 MB perf.data (9 samples) ]
> >
> > Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
> > ---
> > v1->v2:
> > - man page updates.
>
> Acked-by: Jiri Olsa <jolsa@kernel.org>

[root@quaco ~]# perf test -v python
18: 'import perf' in python :
--- start ---
test child forked, pid 19237
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /tmp/build/perf/python/perf.so: undefined symbol: debug_peo_args
test child finished with -1
---- end ----
'import perf' in python: FAILED!
[root@quaco ~]#

Please always test your changes using 'perf test', before and after, to
see if some regression is being added. I'm trying to fix this one.

Thanks,

- Arnaldo