Re: [PATCH v1 0/3] Support perf -vv

From: Jin, Yao
Date: Mon Mar 26 2018 - 09:06:41 EST




On 3/26/2018 5:07 PM, Jiri Olsa wrote:
On Mon, Mar 26, 2018 at 02:00:31AM -0700, Andi Kleen wrote:
On Tue, Mar 27, 2018 at 12:07:01AM +0800, Jin Yao wrote:
We keep having bug reports that when users build perf on their own,
but they don't install some needed libraries such as libelf,
libbfd/libibery.

The perf can build, but it is missing important functionality. And
users may complain that perf has issue or bug.

This patch-set support 'perf -vv' which will print the compiled-in
status of libraries. Once users think perf missing some functionality,
it should be very easy for them to check the libraries status.

I don't think this solves the problem. How should the user know
that they need to run perf -vv. Also normal users don't know
that libelf is needed for symbols for example.

We need a warning that is visible together with the symbols
and that clearly describes the problem.

IIRC we decided to go *with* the message in the perf report
or other affected command that would suggest to run 'perf -vv'
for more details

jirka


Hi Andi,

For how the users know they should run 'perf -vv', as the discussion with Jiri and Arnaldo, the message will be displayed if necessary when users perform perf report or other perf commands. That could be implemented in a follow-up patch (not in this patch-set).

For let user know what the library they need, maybe we can add more information in 'perf -vv', for example, add something like,

"Please install libelf-dev, libelf-devel or elfutils-libelf-devel before building perf"

Thanks
Jin Yao


-Andi


For example:

$ ./perf -vv
perf version 4.13.rc5.g9b7a81b
dwarf: [ on ]
dwarf_getlocations: [ on ]
glibc: [ on ]
gtk2: [ on ]
libaudit: [ off ]
libbfd: [ on ]
libelf: [ on ]
libnuma: [ on ]
numa_num_possible_cpus: [ on ]
libperl: [ on ]
libpython: [ on ]
libslang: [ on ]
libcrypto: [ on ]
libunwind: [ on ]
libdw-dwarf-unwind: [ on ]
zlib: [ on ]
lzma: [ on ]
get_cpuid: [ on ]
bpf: [ on ]

Jin Yao (3):
perf config: Add -DNO_GLIBC to CFLAGS
perf version: Print the status of compiled-in libraries
perf: Support perf -vv

tools/perf/Makefile.config | 2 +
tools/perf/builtin-version.c | 125 +++++++++++++++++++++++++++++++++++++++++++
tools/perf/builtin.h | 1 +
tools/perf/perf.c | 6 +++
4 files changed, 134 insertions(+)

--
2.7.4