From: Akihiro Nagai <akihiro.nagai.hw@hitachi.com>
To: David Ahern <dsahern@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
linux-kernel@vger.kernel.org,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
yrl.pp-manager.tt@hitachi.com, Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH -tip v2 6/6] perf script: add option resolving vmlinux path
Date: Thu, 21 Jul 2011 18:36:53 +0900 [thread overview]
Message-ID: <4E27F335.70001@hitachi.com> (raw)
In-Reply-To: <4E230F98.3040000@gmail.com>
(2011/07/18 1:36), David Ahern wrote:
> On 07/17/2011 03:31 AM, Akihiro Nagai wrote:
>> Add the option get the path of [kernel.kallsyms].
>> Specify '--show-kernel-path' option to use this function.
>> This patch enables other applications to use this output easily.
>>
>> Without --show-kernel-path option
>>
>> # perf script -f ip,dso
>> ffffffff81467612 irq_return ([kernel.kallsyms])
>> ffffffff81467612 irq_return ([kernel.kallsyms])
>> 7f24fc02a6b3 _start (/lib64/ld-2.14.so)
>> [snip]
>>
>> With --show-kernel-path option
>>
>> # perf script -f ip,dso --show-kernel-path
>> ffffffff81467612 irq_return (/lib/modules/3.0.0-rc6-tip+/build/vmlinux)
>> ffffffff81467612 irq_return (/lib/modules/3.0.0-rc6-tip+/build/vmlinux)
>> 7f24fc02a6b3 _start (/lib64/ld-2.14.so)
>> [snip]
>>
>> Signed-off-by: Akihiro Nagai<akihiro.nagai.hw@hitachi.com>
>> Cc: Peter Zijlstra<peterz@infradead.org>
>> Cc: Frederic Weisbecker<fweisbec@gmail.com>
>> Cc: Paul Mackerras<paulus@samba.org>
>> Cc: Ingo Molnar<mingo@elte.hu>
>> Cc: Arnaldo Carvalho de Melo<acme@infradead.org>
>> Cc: David Ahern<dsahern@gmail.com>
>> Cc: Masami Hiramatsu<masami.hiramatsu.pt@hitachi.com>
>> ---
>>
>> tools/perf/Documentation/perf-script.txt | 3 +++
>> tools/perf/builtin-script.c | 2 ++
>> tools/perf/util/map.c | 7 +++++--
>> tools/perf/util/session.c | 2 ++
>> tools/perf/util/symbol.c | 1 +
>> tools/perf/util/symbol.h | 1 +
>> 6 files changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
>> index ee4d477..5383671 100644
>> --- a/tools/perf/Documentation/perf-script.txt
>> +++ b/tools/perf/Documentation/perf-script.txt
>> @@ -188,6 +188,9 @@ OPTIONS
>> CPUs are specified with -: 0-2. Default is to report samples on all
>> CPUs.
>>
>> +--show-kernel-path::
>> + Try to resolve the path of [kernel.kallsyms]
>> +
>> SEE ALSO
>> --------
>> linkperf:perf-record[1], linkperf:perf-script-perl[1],
>> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
>> index fd68185..0d04788 100644
>> --- a/tools/perf/builtin-script.c
>> +++ b/tools/perf/builtin-script.c
>> @@ -1099,6 +1099,8 @@ static const struct option options[] = {
>> "addr,offs",
>> parse_output_fields),
>> OPT_STRING('c', "cpu",&cpu_list, "cpu", "list of cpus to profile"),
>> + OPT_BOOLEAN('\0', "show-kernel-path",&show_kernel_path,
>> + "Show the path of [kernel.kallsyms]"),
>>
>> OPT_END()
>> };
>> diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
>> index dddc0f3..1645967 100644
>> --- a/tools/perf/util/map.c
>> +++ b/tools/perf/util/map.c
>> @@ -204,9 +204,12 @@ void map__print_dsoname(struct map *self)
>> {
>> const char *dsoname;
>>
>> - if (self&& self->dso&& self->dso->name)
>> + if (self&& self->dso&& (self->dso->name || self->dso->long_name)) {
>> + if (show_kernel_path&& self->dso->long_name)
>> + dsoname = self->dso->long_name;
>> + else if (self->dso->name)
>> dsoname = self->dso->name;
>> - else
>> + } else
>> dsoname = "[unknown]";
>>
>> printf("%s", dsoname);
>> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
>> index 3728e67..34c5887 100644
>> --- a/tools/perf/util/session.c
>> +++ b/tools/perf/util/session.c
>> @@ -14,6 +14,8 @@
>> #include "util.h"
>> #include "cpumap.h"
>>
>> +bool show_kernel_path;
>> +
>> static int perf_session__open(struct perf_session *self, bool force)
>> {
>> struct stat input_stat;
>> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
>> index abfecf6..3356d6e 100644
>> --- a/tools/perf/util/symbol.c
>> +++ b/tools/perf/util/symbol.c
>> @@ -41,6 +41,7 @@ static int dso__load_guest_kernel_sym(struct dso *dso, struct map *map,
>> symbol_filter_t filter);
>> static int vmlinux_path__nr_entries;
>> static char **vmlinux_path;
>> +bool show_kernel_path;
>
> declared twice. See above in session.c. I suggest removing the one in
> session.c
Oops. I forgot to delete it.
Thank you.
>
> David
>
>
>>
>> struct symbol_conf symbol_conf = {
>> .exclude_other = true,
>> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
>> index 554b2fe..88000e5 100644
>> --- a/tools/perf/util/symbol.h
>> +++ b/tools/perf/util/symbol.h
>> @@ -96,6 +96,7 @@ struct symbol_conf {
>> };
>>
>> extern struct symbol_conf symbol_conf;
>> +extern bool show_kernel_path;
>>
>> static inline void *symbol__priv(struct symbol *sym)
>> {
>>
prev parent reply other threads:[~2011-07-21 9:37 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-17 9:30 [PATCH -tip v2 0/6] perf script: add BTS analysis features Akihiro Nagai
2011-07-17 9:30 ` [PATCH -tip v2 1/6] [BUGFIX] perf script: print correct IP address Akihiro Nagai
2011-07-17 15:59 ` David Ahern
2011-07-17 17:29 ` Frederic Weisbecker
2011-07-17 9:30 ` [PATCH -tip v2 2/6] perf script: add magic word to indicate the failure of resolving symbols Akihiro Nagai
2011-07-17 16:07 ` David Ahern
2011-07-17 16:30 ` David Ahern
2011-07-21 9:36 ` Akihiro Nagai
2011-07-21 9:42 ` Peter Zijlstra
2011-07-21 14:39 ` David Ahern
2011-07-22 4:25 ` Akihiro Nagai
2011-07-17 9:30 ` [PATCH -tip v2 3/6] perf script: resolve DSOs and symbols for user-space Akihiro Nagai
2011-07-17 16:20 ` David Ahern
2011-07-21 9:36 ` Akihiro Nagai
2011-07-17 9:31 ` [PATCH -tip v2 4/6] perf script: print DSOs and symbols for BTS branch_from addr Akihiro Nagai
2011-07-17 16:22 ` David Ahern
2011-07-21 9:36 ` Akihiro Nagai
2011-07-17 9:31 ` [PATCH -tip v2 5/6] perf script: add the offset field specifier Akihiro Nagai
2011-07-17 16:28 ` David Ahern
2011-07-17 9:31 ` [PATCH -tip v2 6/6] perf script: add option resolving vmlinux path Akihiro Nagai
2011-07-17 16:36 ` David Ahern
2011-07-21 9:36 ` Akihiro Nagai [this message]
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=4E27F335.70001@hitachi.com \
--to=akihiro.nagai.hw@hitachi.com \
--cc=acme@infradead.org \
--cc=dsahern@gmail.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=yrl.pp-manager.tt@hitachi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox