Re: [RFC PATCH] perf tui: Annotate entries in callchains
From: Namhyung Kim
Date: Sun Mar 22 2015 - 20:34:01 EST
On Fri, Mar 20, 2015 at 02:12:30PM -0700, Stephane Eranian wrote:
> On Fri, Mar 20, 2015 at 2:07 PM, Arnaldo Carvalho de Melo
> <arnaldo.melo@xxxxxxxxx> wrote:
> > Em Fri, Mar 20, 2015 at 05:39:22PM -0300, Arnaldo Carvalho de Melo escreveu:
> >> Em Fri, Mar 20, 2015 at 10:15:53AM -0700, Stephane Eranian escreveu:
> >> > On Thu, Mar 19, 2015 at 5:39 PM, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote:
> >> > > On Mar 19, 2015 9:34 PM, "Stephane Eranian" <eranian@xxxxxxxxxx> wrote:
> >> > >> On Thu, Mar 19, 2015 at 3:58 PM, Arnaldo Carvalho de Melo
> >> > >> <acme@xxxxxxxxxx> wrote:
> >> > >> > This patch, together with what is in my perf/core branch, should
> >> > >> > implement that feature we talked about recently, i.e. to allow
> >> > >> > annotating entries in callchains, please take a look at see if you think
> >> > >> > it is ok,
> >> > >> I tried on tip.git and a simple example. It does what I wanted.
> >> > >> I will try on more complex test cases.
> >> > >> Thanks for implementing this quickly.
> >> > > Thanks for testing, please let us know if you have further suggestions,
> >> > Ok, it does not work.
> > Are you sure? I just tried, take a look at:
> > http://vger.kernel.org/~acme/perf-report-annotate-callchain-entries-in-multiple-DSOs-in-the-same-hist_entry.png
> > In there you will see that in the unmap_single_vma case there are
> > callchains that pass thru multiple DSOs in userspace (I used --call
> > dwarf in 'perf record') and those are marked as having
> > samples/annotation and when I go to those, pressing 'a' after moving the
> > cursor to it and it works as expected...
> > Do you have some specific example I could try?
> I tried on an example I cannot share.
> But I am guessing you could reproduce with a test which calls a libc
> or libm function
> heavily form multiple callers in the main program.
> - pow()
> 50% foo() [main.c]
> 50% bar() [main.c]
> If I move the cursor line to foo() and annotate foo() is shows me the
> code of pow().
Did you play with acme/perf/core not tip/perf/core? I got same
problem but then I realize it's not the Arnaldo's tree. When I
changed to acme/perf/core the problem disappeared. :)
But unfortunately I got this segfault instead..
namhyung@sejong:perf$ perf report
perf: Segmentation fault
-------- backtrace --------
namhyung@sejong:perf$ addr2line -e `which perf` 0x506e5b
namhyung@sejong:perf$ addr2line -e `which perf` 0x47b39c
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/