[PATCH 4/4] perf hists: Fix column length on --hierarchy

From: Namhyung Kim
Date: Tue Nov 08 2016 - 08:09:51 EST


Markus reported that there's a weird behavior on perf top --hierarch
regarding the column length. Looking at the code, I found a debious
code which affects the symtoms. When --hierarchy option is used, the
last column length might be inaccurate since it skips to update the
length on leaf entries. I cannot remember why it did and looks like a
leftover from previous version during the development. Anyway updating
the column length often is not harmful. So let's move the code out.

Reported-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
tools/perf/util/hist.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index e1be4132054d..6770a9645609 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -1601,18 +1601,18 @@ static void hists__hierarchy_output_resort(struct hists *hists,
if (prog)
ui_progress__update(prog, 1);

+ hists->nr_entries++;
+ if (!he->filtered) {
+ hists->nr_non_filtered_entries++;
+ hists__calc_col_len(hists, he);
+ }
+
if (!he->leaf) {
hists__hierarchy_output_resort(hists, prog,
&he->hroot_in,
&he->hroot_out,
min_callchain_hits,
use_callchain);
- hists->nr_entries++;
- if (!he->filtered) {
- hists->nr_non_filtered_entries++;
- hists__calc_col_len(hists, he);
- }
-
continue;
}

--
2.10.1