[tip:perf/core] perf hists: Fix width computation for srcline sort entry

From: tip-bot for Jiri Olsa
Date: Tue Sep 20 2016 - 17:43:39 EST


Commit-ID: f666ac0dab5afaf6ebed2c361251581bfccc4003
Gitweb: http://git.kernel.org/tip/f666ac0dab5afaf6ebed2c361251581bfccc4003
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
AuthorDate: Mon, 19 Sep 2016 15:10:10 +0200
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Tue, 20 Sep 2016 12:28:28 -0300

perf hists: Fix width computation for srcline sort entry

Adding header size to width computation for srcline sort entry,
because it's possible to get empty data with ':0' which set width
of 2 which is lower than width needed to display column header.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Joe Mario <jmario@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1474290610-23241-62-git-send-email-jolsa@xxxxxxxxxx
[ Added declaration to sort.h ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/hist.c | 6 ++++--
tools/perf/util/sort.h | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 37a08f2..b02992e 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -177,8 +177,10 @@ void hists__calc_col_len(struct hists *hists, struct hist_entry *h)
hists__new_col_len(hists, HISTC_LOCAL_WEIGHT, 12);
hists__new_col_len(hists, HISTC_GLOBAL_WEIGHT, 12);

- if (h->srcline)
- hists__new_col_len(hists, HISTC_SRCLINE, strlen(h->srcline));
+ if (h->srcline) {
+ len = MAX(strlen(h->srcline), strlen(sort_srcline.se_header));
+ hists__new_col_len(hists, HISTC_SRCLINE, len);
+ }

if (h->srcfile)
hists__new_col_len(hists, HISTC_SRCFILE, strlen(h->srcfile));
diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
index 28c0524..9505483 100644
--- a/tools/perf/util/sort.h
+++ b/tools/perf/util/sort.h
@@ -40,6 +40,7 @@ extern struct sort_entry sort_dso_from;
extern struct sort_entry sort_dso_to;
extern struct sort_entry sort_sym_from;
extern struct sort_entry sort_sym_to;
+extern struct sort_entry sort_srcline;
extern enum sort_type sort__first_dimension;
extern const char default_mem_sort_order[];