All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
	Andi Kleen <andi@firstfloor.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 21/22] perf hists: Factor out hists__reset_column_width()
Date: Tue, 20 Sep 2016 17:03:41 -0300	[thread overview]
Message-ID: <1474401822-18902-22-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1474401822-18902-1-git-send-email-acme@kernel.org>

From: Namhyung Kim <namhyung@kernel.org>

The stdio and tui has same code to reset hpp format column width.
Factor it out as a new function.

Suggested-and-Acked-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20160920053025.13989-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/ui/browsers/hists.c | 12 +++---------
 tools/perf/ui/hist.c           | 15 +++++++++++++++
 tools/perf/ui/stdio/hist.c     | 10 +---------
 tools/perf/util/hist.h         |  1 +
 4 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 49db16334814..a6d5d248b8fb 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2067,7 +2067,6 @@ void hist_browser__init(struct hist_browser *browser,
 			struct hists *hists)
 {
 	struct perf_hpp_fmt *fmt;
-	struct perf_hpp_list_node *node;
 
 	browser->hists			= hists;
 	browser->b.refresh		= hist_browser__refresh;
@@ -2076,15 +2075,10 @@ 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) {
-		perf_hpp__reset_width(fmt, hists);
+	hists__for_each_format(hists, fmt)
 		++browser->b.columns;
-	}
-	/* hierarchy entries have their own hpp list */
-	list_for_each_entry(node, &hists->hpp_formats, list) {
-		perf_hpp_list__for_each_format(&node->hpp, fmt)
-			perf_hpp__reset_width(fmt, hists);
-	}
+
+	hists__reset_column_width(hists);
 }
 
 struct hist_browser *hist_browser__new(struct hists *hists)
diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index b47fafc8ee2a..60c4a4d08374 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -699,6 +699,21 @@ void perf_hpp__reset_width(struct perf_hpp_fmt *fmt, struct hists *hists)
 	}
 }
 
+void hists__reset_column_width(struct hists *hists)
+{
+	struct perf_hpp_fmt *fmt;
+	struct perf_hpp_list_node *node;
+
+	hists__for_each_format(hists, fmt)
+		perf_hpp__reset_width(fmt, hists);
+
+	/* hierarchy entries have their own hpp list */
+	list_for_each_entry(node, &hists->hpp_formats, list) {
+		perf_hpp_list__for_each_format(&node->hpp, fmt)
+			perf_hpp__reset_width(fmt, hists);
+	}
+}
+
 void perf_hpp__set_user_width(const char *width_list_str)
 {
 	struct perf_hpp_fmt *fmt;
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index a57131e61fe3..8e1840bff29d 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -717,8 +717,6 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
 		      int max_cols, float min_pcnt, FILE *fp,
 		      bool use_callchain)
 {
-	struct perf_hpp_fmt *fmt;
-	struct perf_hpp_list_node *node;
 	struct rb_node *nd;
 	size_t ret = 0;
 	const char *sep = symbol_conf.field_sep;
@@ -729,13 +727,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
 
 	init_rem_hits();
 
-	hists__for_each_format(hists, fmt)
-		perf_hpp__reset_width(fmt, hists);
-	/* hierarchy entries have their own hpp list */
-	list_for_each_entry(node, &hists->hpp_formats, list) {
-		perf_hpp_list__for_each_format(&node->hpp, fmt)
-			perf_hpp__reset_width(fmt, hists);
-	}
+	hists__reset_column_width(hists);
 
 	if (symbol_conf.col_width_list_str)
 		perf_hpp__set_user_width(symbol_conf.col_width_list_str);
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index a002c93fe422..defa957f27df 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -368,6 +368,7 @@ static inline bool perf_hpp__should_skip(struct perf_hpp_fmt *format,
 void perf_hpp__reset_width(struct perf_hpp_fmt *fmt, struct hists *hists);
 void perf_hpp__reset_sort_width(struct perf_hpp_fmt *fmt, struct hists *hists);
 void perf_hpp__set_user_width(const char *width_list_str);
+void hists__reset_column_width(struct hists *hists);
 
 typedef u64 (*hpp_field_fn)(struct hist_entry *he);
 typedef int (*hpp_callback_fn)(struct perf_hpp *hpp, bool front);
-- 
2.7.4

  parent reply	other threads:[~2016-09-20 20:07 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-20 20:03 [GIT PULL 00/22] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 01/22] perf probe: Fix dwarf regs table for x86_64 Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 02/22] perf hists browser: Fix event group display Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 03/22] tools include: Add uapi mman.h for each architecture Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 04/22] perf trace beauty mmap: Fix defines for non !x86_64 Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 05/22] perf tools: Do hugetlb handling in more systems Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 06/22] perf build: Compare mman.h related headers against kernel originals Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 07/22] perf hists: Introduce hists__match_hierarchy() Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 08/22] perf hists: Introduce hists__link_hierarchy() Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 09/22] perf hist: Initialize hierarchy tree explicitly Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 10/22] perf ui/stdio: Always reset output width for hierarchy Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 11/22] perf ui/stdio: Rename print_hierarchy_header() Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 12/22] perf report: Enable group view with hierarchy Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 13/22] perf tools: Add infrastructure for PMU specific configuration Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 14/22] perf trace beauty mmap: Add missing MADV_FREE Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 15/22] tools include: Add mman macros needed by perf for all arch Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 16/22] perf hists: Fix width computation for srcline sort entry Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 17/22] perf annotate: Do not ignore call instruction with indirect target Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 18/22] perf annotate: Pass the symbol's map/dso to the instruction parsers Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 19/22] perf annotate: Resolve 'call' operands to function names Arnaldo Carvalho de Melo
2016-09-20 20:03 ` [PATCH 20/22] perf ui/tui: Reset output width for hierarchy Arnaldo Carvalho de Melo
2016-09-20 20:03 ` Arnaldo Carvalho de Melo [this message]
2016-09-20 20:03 ` [PATCH 22/22] perf symbols: Do not open device files Arnaldo Carvalho de Melo
2016-09-20 21:34 ` [GIT PULL 00/22] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1474401822-18902-22-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.