lkml.org 
[lkml]   [2010]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [GIT PULL 0/2] perf annotate fix and report improvoment
From
On Wed, May 26, 2010 at 10:33 PM, Arnaldo Carvalho de Melo
<acme@infradead.org> wrote:
> Em Wed, May 26, 2010 at 10:11:14PM +0200, Stephane Eranian escreveu:
>> On Wed, May 26, 2010 at 9:32 PM, Arnaldo Carvalho de Melo
>> <acme@infradead.org> wrote:
>> > Em Wed, May 26, 2010 at 09:07:05PM +0200, Stephane Eranian escreveu:
>> >> But in this example, I only really care about the symbols in the
>> >> noploop program (/tmp/noploop).
>> >>
>> >> Missing symbol support for the kernel should not cause perf to avoid
>> >> trying to resolve the symbols in other modules such as my user program
>> >> here.
>> >
>> > Right, my bad, I thought that the problem was about the kernel symbols.
>> >
>> > Then can you try replacing:
>> >
>> > perf annotate -i ~/perf.data noploop
>> >
>> > with:
>> >
>> > perf annotate -i ~/perf.data -d noploop
>> >
>> > And see if that helps?
>> >
>> Ok that works. But if I turned on TUI, then I cannot obtain
>> the same result. I am guessing it does not use the -d option.
>
> Humm, it should be working, i.e. -d processing is about adding a filter,
> lemme see...
>
> Yeah, in builtin-annotate.c
>
>        OPT_STRING('d', "dsos", &symbol_conf.dso_list_str, "dso[,dso...]",
>                   "only consider symbols in these dsos"),
>
> It sets the dso_list_str and that is used when processing events in:
>
>        perf_session__process_events
>                process_sample_event (in builtin-annotate.c)
>                        event__preprocess_sample
>
> In event__preprocess_sample:
>
>     if (symbol_conf.dso_list &&
>         (!al->map || !al->map->dso ||
>          !(strlist__has_entry(symbol_conf.dso_list,
>                               al->map->dso->short_name) ||
>            (al->map->dso->short_name != al->map->dso->long_name &&
>             strlist__has_entry(symbol_conf.dso_list,
>                                al->map->dso->long_name)))))
>             goto out_filtered;
>
> Yeah, this is all done no matter what frontend is used :-\
>
> I just tried it here with:
>
> [root@emilia linux-2.6-tip]# perf report -d libc-2.12.so
> [root@emilia linux-2.6-tip]# perf annotate -d libc-2.12.so
>
> with
>
> [root@emilia linux-2.6-tip]# cat ~/.perfconfig
> [tui]
>
>        report = on
>        annotate = on
> [root@emilia linux-2.6-tip]#
>
> And it works as expected.
>
I did not explain my testcase enough ;-<

With TUI, I started from perf report -i perf.data, then chose to zoom into
the noploop symbol.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2010-05-26 22:43    [W:0.139 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site