Re: [PATCH] perf util: Display warning when perf report/annotate is missing some libs

From: Jiri Olsa
Date: Fri Mar 23 2018 - 11:17:47 EST


On Fri, Mar 23, 2018 at 11:50:49AM -0300, Arnaldo Carvalho de Melo wrote:

SNIP

> > > I just don't like the idea that when you run perf report,
> > > or annotate it spits out lines for every missing feature
> > >
> > > maybe we could detect missing features for given command
> > > and display line about missing features and say something
> > > like:
> > >
> > > 'Warning: symbol,dwarf support not compiled in (for more details run perf -vv)'
> > >
> > > or somwthing like that.. ;-)
> > >
> > > jirka
> > >
> >
> > Hi Jiri,
> >
> > I think your idea is very good!
> >
> > I guess following it's just an example copied from perf building process,
> > right?

yes

> >
> > $ ./perf -vv
> > perf version 4.16.rc6.g18fd48
> >
> > dwarf: [ on ]
> > dwarf_getlocations: [ on ]
> > glibc: [ on ]
> > gtk2: [ on ]
> > libaudit: [ on ]
> > 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 ]
> >
> > We can check some CFLAGS like "#ifdef HAVE_XXX" in perf code to determine if
> > some libraries are compiled in.
> >
> > For example,
> >
> > #ifdef HAVE_LIBNUMA_SUPPORT
> > printf("libnuma: [ on ]");
> > #endif

please display also the OFF status, to mirror the build output

#ifdef HAVE_LIBNUMA_SUPPORT
printf("libnuma: [ on ]");
#else
printf("libnuma: [ OFF ]");
#endif

or in some other smarter way..

> >
> > For some features, such as "numa_num_possible_cpus", which doesn't have
> > CFLAGS variables. Maybe we can ignore them in report?
> >
> > I'd like to upgrade my patch to support perf -vv.
>
> Please go ahead! :-) We're all on the same page now, I think.

yes ;-)

jirka