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
next prev 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).