Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 533c46c3 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent e65713ea
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -313,7 +313,8 @@ static int __cmd_report(void)
						       stats->stats.total);
		if (use_browser)
			perf_session__browse_hists(&stats->hists, nr_hists,
						   stats->stats.total, help);
						   stats->stats.total, help,
						   input_name);
		else {
			if (rb_first(&session->stats_by_id) ==
			    rb_last(&session->stats_by_id))
+8 −5
Original line number Diff line number Diff line
@@ -317,7 +317,8 @@ static size_t hist_entry__append_browser(struct hist_entry *self,
	return ret;
}

static void map_symbol__annotate_browser(const struct map_symbol *self)
static void map_symbol__annotate_browser(const struct map_symbol *self,
					 const char *input_name)
{
	FILE *fp;
	int cols, rows;
@@ -331,8 +332,8 @@ static void map_symbol__annotate_browser(const struct map_symbol *self)
	if (self->sym == NULL)
		return;

	if (asprintf(&str, "perf annotate -d \"%s\" %s 2>&1 | expand",
		     self->map->dso->name, self->sym->name) < 0)
	if (asprintf(&str, "perf annotate -i \"%s\" -d \"%s\" %s 2>&1 | expand",
		     input_name, self->map->dso->name, self->sym->name) < 0)
		return;

	fp = popen(str, "r");
@@ -472,7 +473,8 @@ static int hist_browser__populate(struct hist_browser *self, struct rb_root *his
}

int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists,
			       u64 session_total, const char *helpline)
			       u64 session_total, const char *helpline,
			       const char *input_name)
{
	struct newtExitStruct es;
	char str[1024];
@@ -527,7 +529,8 @@ do_annotate:
						 "kallsyms file");
				continue;
			}
			map_symbol__annotate_browser(browser->selection);
			map_symbol__annotate_browser(browser->selection,
						     input_name);
		}
	}
	err = 0;
+4 −2
Original line number Diff line number Diff line
@@ -96,12 +96,14 @@ static inline struct map *
static inline int perf_session__browse_hists(struct rb_root *hists __used,
					      u64 nr_hists __used,
					      u64 session_total __used,
					      const char *helpline __used)
					     const char *helpline __used,
					     const char *input_name __used)
{
	return 0;
}
#else
int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists,
				u64 session_total, const char *helpline);
			       u64 session_total, const char *helpline,
			       const char *input_name);
#endif
#endif /* __PERF_SESSION_H */