Re: probe + report for following branch history. was Re: [PATCH 1/2] perf hists browser: Print overhead percent value for first-level callchain

From: Arnaldo Carvalho de Melo
Date: Mon Nov 24 2014 - 10:32:15 EST


Em Mon, Nov 24, 2014 at 12:25:41PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Nov 24, 2014 at 12:23:12PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Mon, Nov 24, 2014 at 11:52:27AM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Mon, Nov 24, 2014 at 05:13:26PM +0900, Namhyung Kim escreveu:
> > > > Currently perf report on TUI doesn't print percent for first-level
> > > > callchain entry. I guess it (wrongly) assumes that there's only a
> > > > single callchain in the first level. This patch fixes it by handling
> > > > the first level callchains same as others - if it's not 100% it should
> > > > print the percent value. Also it'll affect other callchains in the
> > > > other way around - if it's 100% (single callchain) it should not print
> > > > the percentage.
> > > >
> > > > Before:
> > > > - 30.95% 6.84% abc2 abc2 [.] a
> > > > - a
> > >
> > > Thanks, with this the --stdio output matches --tui when --branch-history
> > > is used in 'report', will push soon.
> >
> > [acme@zoo linux]$ time make -C tools/perf build-test
> > make: Entering directory `/home/git/linux/tools/perf'
> > - make_pure: cd . && make -f Makefile DESTDIR=/tmp/tmp.z11aKMiurz
>
> Right to the point:
>
> [acme@zoo linux]$ make -C tools/perf NO_DEMANGLE=1 util/srcline.o
> make: Entering directory `/home/git/linux/tools/perf'
> BUILD: Doing 'make -j4' parallel build
> CC util/srcline.o
> In file included from util/srcline.c:18:0:
> /usr/include/bfd.h:6197:7: error: conflicting types for âbfd_demangleâ
> char *bfd_demangle (bfd *, const char *, int);
> ^
> In file included from util/srcline.c:11:0:
> util/symbol.h:35:21: note: previous definition of âbfd_demangleâ was
> here
> static inline char *bfd_demangle(void __maybe_unused *v,
> ^
> make[1]: *** [util/srcline.o] Error 1
> make: *** [util/srcline.o] Error 2
> make: Leaving directory `/home/git/linux/tools/perf'
> [acme@zoo linux]$

bisected it down to:

43e3229ef07a2dda81bda86a5b81ef8c2890ab63 is the first bad commit
commit 43e3229ef07a2dda81bda86a5b81ef8c2890ab63
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Wed Nov 12 18:05:27 2014 -0800

perf callchain: Make get_srcline fall back to sym+offset

When the source line is not found fall back to sym + offset. This is
generally much more useful than a raw address.

For this we need to pass in the symbol from the caller.

For some callers it's awkward to compute, so we stay at the old
behaviour.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/1415844328-4884-10-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

:040000 040000 ae5e95c8dbfd9ab8e836707fcb2904e263f872c6
5979ba316f1d317c59866b0c3bf92c39fbdcde6b M tools
[acme@zoo linux]$
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/