Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1519866

[PATCH 1/5] perf hist browser: Fix hierarchy column counts

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 1/5] perf hist browser: Fix hierarchy column counts
Date 2016-11-11 17:00 +0100
Message-ID <sCmpb-6c5-9@gated-at.bofh.it> (permalink)
References <sCmpb-6c5-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Namhyung Kim <namhyung@kernel.org>

The perf report/top on TUI supports horizontal scrolling using LEFT and
RIGHT keys.

But it calculate the number of columns incorrectly when hierarchy mode
is enabled so that keep pressing RIGHT key can make the output
disappeared.

In the hierarchy mode, all sort keys are collapsed into a single column,
so it needs to be applied when calculating column numbers.

Reported-and-Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20161024162110.17918-1-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/ui/browsers/hists.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 4ffff7be9299..5adedc1a09d3 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2076,8 +2076,21 @@ void hist_browser__init(struct hist_browser *browser,
 	browser->b.use_navkeypressed	= true;
 	browser->show_headers		= symbol_conf.show_hist_headers;
 
-	hists__for_each_format(hists, fmt)
+	if (symbol_conf.report_hierarchy) {
+		struct perf_hpp_list_node *fmt_node;
+
+		/* count overhead columns (in the first node) */
+		fmt_node = list_first_entry(&hists->hpp_formats,
+					    struct perf_hpp_list_node, list);
+		perf_hpp_list__for_each_format(&fmt_node->hpp, fmt)
+			++browser->b.columns;
+
+		/* add a single column for whole hierarchy sort keys*/
 		++browser->b.columns;
+	} else {
+		hists__for_each_format(hists, fmt)
+			++browser->b.columns;
+	}
 
 	hists__reset_column_width(hists);
 }
-- 
2.7.4

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 0/5] perf/urgent hists hierarchy fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-11-11 17:00 +0100
  [PATCH 1/5] perf hist browser: Fix hierarchy column counts Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-11-11 17:00 +0100
  [PATCH 4/5] perf hists browser: Fix column indentation on --hierarchy Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-11-11 17:00 +0100
  [PATCH 3/5] perf hists browser: Show folded sign properly on --hierarchy Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-11-11 17:00 +0100
  [PATCH 5/5] perf hists: Fix column length on --hierarchy Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-11-11 17:00 +0100
  Re: [GIT PULL 0/5] perf/urgent hists hierarchy fixes Ingo Molnar <mingo@kernel.org> - 2016-11-12 11:50 +0100

csiph-web