perf hists: Factor out hists__reset_column_width()
authorNamhyung Kim <namhyung@kernel.org>
Tue, 20 Sep 2016 05:30:24 +0000 (14:30 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 20 Sep 2016 19:13:37 +0000 (16:13 -0300)
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
tools/perf/ui/hist.c
tools/perf/ui/stdio/hist.c
tools/perf/util/hist.h

index 49db1633481442373ce8a88a39b7596c9433ad4a..a6d5d248b8fb3adb0aad10a2e2dd007345041a5e 100644 (file)
@@ -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)
index b47fafc8ee2aab20878cba272666fd878fd18458..60c4a4d08374c0dc2c14614cfab9f05ca53690fc 100644 (file)
@@ -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;
index a57131e61fe394e4db4c149497138394fa1f168e..8e1840bff29d6ede2110ce2c0482923ce75a9af8 100644 (file)
@@ -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);
index a002c93fe422ff61ec1cfce66e46a2972812f3f8..defa957f27dfffc368d253d577e6b0bbc65238aa 100644 (file)
@@ -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);