Skip to content

Commit

Permalink
perf report: Show branch info in callchain entry for browser mode
Browse files Browse the repository at this point in the history
If the branch is 100% predicted then the "predicted" is hidden.
Similarly, if there is no branch tsx abort, the "abort" is hidden.
There is only cycles shown (cycle is supported on skylake platform,
older platform would be 0).

If no iterations, the "iterations" is hidden.

Signed-off-by: Yao Jin <yao.jin@linux.intel.com>
Acked-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Linux-kernel@vger.kernel.org
Cc: Yao Jin <yao.jin@linux.intel.com>
Link: http://lkml.kernel.org/r/1477876794-30749-6-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Jin Yao authored and Arnaldo Carvalho de Melo committed Nov 14, 2016
1 parent 8577ae6 commit fef51ec
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions tools/perf/ui/browsers/hists.c
Original file line number Diff line number Diff line change
Expand Up @@ -738,6 +738,7 @@ static int hist_browser__show_callchain_list(struct hist_browser *browser,
struct callchain_print_arg *arg)
{
char bf[1024], *alloc_str;
char buf[64], *alloc_str2;
const char *str;

if (arg->row_offset != 0) {
Expand All @@ -746,12 +747,26 @@ static int hist_browser__show_callchain_list(struct hist_browser *browser,
}

alloc_str = NULL;
alloc_str2 = NULL;

str = callchain_list__sym_name(chain, bf, sizeof(bf),
browser->show_dso);

if (need_percent) {
char buf[64];
if (symbol_conf.show_branchflag_count) {
if (need_percent)
callchain_list_counts__printf_value(node, chain, NULL,
buf, sizeof(buf));
else
callchain_list_counts__printf_value(NULL, chain, NULL,
buf, sizeof(buf));

if (asprintf(&alloc_str2, "%s%s", str, buf) < 0)
str = "Not enough memory!";
else
str = alloc_str2;
}

if (need_percent) {
callchain_node__scnprintf_value(node, buf, sizeof(buf),
total);

Expand All @@ -764,6 +779,7 @@ static int hist_browser__show_callchain_list(struct hist_browser *browser,
print(browser, chain, str, offset, row, arg);

free(alloc_str);
free(alloc_str2);
return 1;
}

Expand Down

0 comments on commit fef51ec

Please sign in to comment.