lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 12 Nov 2019 08:37:48 -0300
From:   Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
To:     Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Cc:     Jiri Olsa <jolsa@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] perf tool: Provide an option to print perf_event_open
 args and return value

Em Tue, Nov 12, 2019 at 08:29:10AM -0300, Arnaldo Carvalho de Melo escreveu:
> 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@...ux.ibm.com>
> > > ---
> > > v1->v2:
> > >  - man page updates.
> > 
> > Acked-by: Jiri Olsa <jolsa@...nel.org>
> 
> [root@...co ~]# 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@...co ~]#
> 
> 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.

I added this to fix this issue,

- Thanks,

- Arnaldo

[acme@...co perf]$ git diff -U5
diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
index 25118605f3f8..83212c65848b 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -63,10 +63,11 @@ struct perf_env perf_env;
 /*
  * Support debug printing even though util/debug.c is not linked.  That means
  * implementing 'verbose' and 'eprintf'.
  */
 int verbose;
+int debug_peo_args;

 int eprintf(int level, int var, const char *fmt, ...);

 int eprintf(int level, int var, const char *fmt, ...)
 {
[acme@...co perf]$

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ