Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756810AbcKLVSm (ORCPT ); Sat, 12 Nov 2016 16:18:42 -0500 Received: from terminus.zytor.com ([198.137.202.10]:43468 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966942AbcKLVRC (ORCPT ); Sat, 12 Nov 2016 16:17:02 -0500 Date: Sat, 12 Nov 2016 02:52:37 -0800 From: tip-bot for Namhyung Kim Message-ID: Cc: hpa@zytor.com, mingo@kernel.org, jolsa@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, markus@trippelsdorf.de, peterz@infradead.org, tglx@linutronix.de, namhyung@kernel.org Reply-To: hpa@zytor.com, mingo@kernel.org, jolsa@kernel.org, acme@redhat.com, linux-kernel@vger.kernel.org, markus@trippelsdorf.de, peterz@infradead.org, tglx@linutronix.de, namhyung@kernel.org In-Reply-To: <20161024162110.17918-1-namhyung@kernel.org> References: <20161024162110.17918-1-namhyung@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] perf hist browser: Fix hierarchy column counts Git-Commit-ID: 9cba9844547731d2f14d79485c43192ffaa37b76 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2131 Lines: 57 Commit-ID: 9cba9844547731d2f14d79485c43192ffaa37b76 Gitweb: http://git.kernel.org/tip/9cba9844547731d2f14d79485c43192ffaa37b76 Author: Namhyung Kim AuthorDate: Tue, 25 Oct 2016 01:21:10 +0900 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 9 Nov 2016 11:19:28 -0300 perf hist browser: Fix hierarchy column counts 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 Signed-off-by: Namhyung Kim Tested-by: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/20161024162110.17918-1-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- 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 4ffff7b..5adedc1 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); }