All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Jin, Yao" <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>,
	jolsa@kernel.org, peterz@infradead.org, mingo@redhat.com,
	alexander.shishkin@linux.intel.com, Linux-kernel@vger.kernel.org,
	ak@linux.intel.com, kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH] perf util: Display warning when perf report/annotate is missing some libs
Date: Fri, 23 Mar 2018 11:50:49 -0300	[thread overview]
Message-ID: <20180323145049.GF4229@kernel.org> (raw)
In-Reply-To: <5f7ae627-572d-fc02-e9ea-ec56b640c636@linux.intel.com>

Em Fri, Mar 23, 2018 at 11:09:03AM +0800, Jin, Yao escreveu:
> On 3/22/2018 4:51 PM, Jiri Olsa wrote:
> > On Thu, Mar 22, 2018 at 09:04:10AM +0800, Jin, Yao wrote:
> > > On 3/21/2018 11:38 PM, Jiri Olsa wrote:
> > > > On Wed, Mar 21, 2018 at 10:11:10AM +0800, Jin, Yao wrote:
> > > > > Hi Jiri,
> > > > > 
> > > > > I'm still thinking it's worth displaying the warning when perf missing some
> > > > > libraries.
> > > > > 
> > > > > Somebody just told me that perf didn't work well. While after some
> > > > > investigations, I found it's just missing some libraries when building the
> > > > > perf.
> > > > > 
> > > > > But I have spent some time on getting the root cause. If with this patch, it
> > > > > should be very easily to know that.
> > > > 
> > > > true.. Arnaldo, any feedback on this one?
> > > > 
> > > > > > I just think it'd better provide some hints to user. For example,
> > > > > > "symbol is disabled and you need to install libelf/xxx", say something
> > > > > > like that.
> > > > > > 
> > > > > > But it looks the column can't contain too much information (i.e. no more
> > > > > > space to contain the entire hints).
> > > > > > 
> > > > > > Any idea? Or just add this warning in verbose mode?
> > > > > > 
> > > > > > > also your change does not affect tui mode
> > > > > > > 
> > > > > > > annotation for some reason does not start at all.. could be
> > > > > > > little more verbose ;-)
> > > > > > > 
> > > > > > > jirka
> > > > > > > 
> > > > > > 
> > > > > > Yes, it doesn't affect tui mode.
> > > > > > 
> > > > > > Or we just add this warning in verbose mode?
> > > > > > 
> > > > > > e.g. perf report -v?
> > > > 
> > > > how about displaying libraries separately with -vv output,
> > > > that would mimic the build message, like:
> > > > 
> > > >     $ ./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  ]
> > > > 
> > > > and perf -vvv could display the 'make VF=1' info
> > > > 
> > > > jirka
> > > > 
> > > 
> > > I'm just afraid that the newbie will not check the -vv on his own when he
> > > gets trouble in using perf.
> > > 
> > > In other words, if a user is experienced and he knows -vv yet, I may assume
> > > that he should know installing all libraries before building the perf.
> > > 
> > > This patch is specific for the perf newbie. It will directly shows the
> > > error/warning when the user launches the perf binary. It will have a little
> > > bit helps, I guess. :)
> > 
> > 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?
> 
> $ ./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
> 
> 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.

- Arnaldo

  reply	other threads:[~2018-03-23 14:50 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-11 11:03 [PATCH] perf util: Display warning when perf report/annotate is missing some libs Jin Yao
2018-01-11 15:30 ` Jiri Olsa
2018-01-12  2:22   ` Jin, Yao
2018-03-21  2:11     ` Jin, Yao
2018-03-21 15:38       ` Jiri Olsa
2018-03-21 15:40         ` Arnaldo Carvalho de Melo
2018-03-21 15:43           ` Arnaldo Carvalho de Melo
2018-03-21 15:45             ` Arnaldo Carvalho de Melo
2018-03-21 16:04             ` Jiri Olsa
2018-03-21 18:52               ` Arnaldo Carvalho de Melo
2018-03-21 19:02                 ` Jiri Olsa
2018-03-22  1:31                 ` Jin, Yao
2018-03-22  1:04         ` Jin, Yao
2018-03-22  8:51           ` Jiri Olsa
2018-03-23  3:09             ` Jin, Yao
2018-03-23 14:50               ` Arnaldo Carvalho de Melo [this message]
2018-03-23 15:17                 ` Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180323145049.GF4229@kernel.org \
    --to=acme@kernel.org \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=yao.jin@intel.com \
    --cc=yao.jin@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.