diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-04-03 10:54:35 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-04-03 10:54:35 -0400 |
| commit | 533c46c31c0e82f19dbb087c77d85eaccd6fefdb (patch) | |
| tree | 3f98f3e2b8aa51f33b8edef449ec718f93b2deb9 | |
| parent | e65713ea1e61e92d28284a55df2aa039ebe10003 (diff) | |
perf newt: Pass the input_name to perf_session__browse_hists
So that it can use it in the 'perf annotate' command line, otherwise
it'll use the default and not the specified -i filename passed to 'perf
report'.
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
| -rw-r--r-- | tools/perf/builtin-report.c | 3 | ||||
| -rw-r--r-- | tools/perf/util/newt.c | 13 | ||||
| -rw-r--r-- | tools/perf/util/session.h | 6 |
3 files changed, 14 insertions, 8 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 6615e09e336f..e93c69a8e720 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
| @@ -313,7 +313,8 @@ static int __cmd_report(void) | |||
| 313 | stats->stats.total); | 313 | stats->stats.total); |
| 314 | if (use_browser) | 314 | if (use_browser) |
| 315 | perf_session__browse_hists(&stats->hists, nr_hists, | 315 | perf_session__browse_hists(&stats->hists, nr_hists, |
| 316 | stats->stats.total, help); | 316 | stats->stats.total, help, |
| 317 | input_name); | ||
| 317 | else { | 318 | else { |
| 318 | if (rb_first(&session->stats_by_id) == | 319 | if (rb_first(&session->stats_by_id) == |
| 319 | rb_last(&session->stats_by_id)) | 320 | rb_last(&session->stats_by_id)) |
diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c index 509d921532ef..c93bc2a2d137 100644 --- a/tools/perf/util/newt.c +++ b/tools/perf/util/newt.c | |||
| @@ -317,7 +317,8 @@ static size_t hist_entry__append_browser(struct hist_entry *self, | |||
| 317 | return ret; | 317 | return ret; |
| 318 | } | 318 | } |
| 319 | 319 | ||
| 320 | static void map_symbol__annotate_browser(const struct map_symbol *self) | 320 | static void map_symbol__annotate_browser(const struct map_symbol *self, |
| 321 | const char *input_name) | ||
| 321 | { | 322 | { |
| 322 | FILE *fp; | 323 | FILE *fp; |
| 323 | int cols, rows; | 324 | int cols, rows; |
| @@ -331,8 +332,8 @@ static void map_symbol__annotate_browser(const struct map_symbol *self) | |||
| 331 | if (self->sym == NULL) | 332 | if (self->sym == NULL) |
| 332 | return; | 333 | return; |
| 333 | 334 | ||
| 334 | if (asprintf(&str, "perf annotate -d \"%s\" %s 2>&1 | expand", | 335 | if (asprintf(&str, "perf annotate -i \"%s\" -d \"%s\" %s 2>&1 | expand", |
| 335 | self->map->dso->name, self->sym->name) < 0) | 336 | input_name, self->map->dso->name, self->sym->name) < 0) |
| 336 | return; | 337 | return; |
| 337 | 338 | ||
| 338 | fp = popen(str, "r"); | 339 | fp = popen(str, "r"); |
| @@ -472,7 +473,8 @@ static int hist_browser__populate(struct hist_browser *self, struct rb_root *his | |||
| 472 | } | 473 | } |
| 473 | 474 | ||
| 474 | int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists, | 475 | int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists, |
| 475 | u64 session_total, const char *helpline) | 476 | u64 session_total, const char *helpline, |
| 477 | const char *input_name) | ||
| 476 | { | 478 | { |
| 477 | struct newtExitStruct es; | 479 | struct newtExitStruct es; |
| 478 | char str[1024]; | 480 | char str[1024]; |
| @@ -527,7 +529,8 @@ do_annotate: | |||
| 527 | "kallsyms file"); | 529 | "kallsyms file"); |
| 528 | continue; | 530 | continue; |
| 529 | } | 531 | } |
| 530 | map_symbol__annotate_browser(browser->selection); | 532 | map_symbol__annotate_browser(browser->selection, |
| 533 | input_name); | ||
| 531 | } | 534 | } |
| 532 | } | 535 | } |
| 533 | err = 0; | 536 | err = 0; |
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index dffaff52ba44..27f4c2dc715b 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h | |||
| @@ -96,12 +96,14 @@ static inline struct map * | |||
| 96 | static inline int perf_session__browse_hists(struct rb_root *hists __used, | 96 | static inline int perf_session__browse_hists(struct rb_root *hists __used, |
| 97 | u64 nr_hists __used, | 97 | u64 nr_hists __used, |
| 98 | u64 session_total __used, | 98 | u64 session_total __used, |
| 99 | const char *helpline __used) | 99 | const char *helpline __used, |
| 100 | const char *input_name __used) | ||
| 100 | { | 101 | { |
| 101 | return 0; | 102 | return 0; |
| 102 | } | 103 | } |
| 103 | #else | 104 | #else |
| 104 | int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists, | 105 | int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists, |
| 105 | u64 session_total, const char *helpline); | 106 | u64 session_total, const char *helpline, |
| 107 | const char *input_name); | ||
| 106 | #endif | 108 | #endif |
| 107 | #endif /* __PERF_SESSION_H */ | 109 | #endif /* __PERF_SESSION_H */ |
