perf hists: Replace perf_evsel arg perf_hpp_fmt's width callback
authorJiri Olsa <jolsa@kernel.org>
Tue, 14 Jun 2016 18:19:20 +0000 (20:19 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 15 Jun 2016 13:50:04 +0000 (10:50 -0300)
Replacing perf_evsel arg perf_hpp_fmt's width callback with hists
object.

This will be helpful in future for non evsel related hist browsers.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1465928361-2442-11-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-diff.c
tools/perf/ui/browsers/hists.c
tools/perf/ui/hist.c
tools/perf/ui/stdio/hist.c
tools/perf/util/hist.c
tools/perf/util/hist.h
tools/perf/util/sort.c

index b75ea770d44316f48e13e2556bbba17ba873fe0d..7f628f9c2fb43f7084a360444805c217053f1ffc 100644 (file)
@@ -1056,7 +1056,7 @@ static int hpp__header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
 
 static int hpp__width(struct perf_hpp_fmt *fmt,
                      struct perf_hpp *hpp __maybe_unused,
-                     struct perf_evsel *evsel __maybe_unused)
+                     struct hists *hists __maybe_unused)
 {
        struct diff_hpp_fmt *dfmt =
                container_of(fmt, struct diff_hpp_fmt, fmt);
index c20425d7d9ae3194d8dba63e232bfee5801af9c3..b1b60544a545941e149fb089ef8b19802fb6dfce 100644 (file)
@@ -1470,7 +1470,7 @@ static int hist_browser__show_no_entry(struct hist_browser *browser,
                    column++ < browser->b.horiz_scroll)
                        continue;
 
-               ret = fmt->width(fmt, NULL, hists_to_evsel(browser->hists));
+               ret = fmt->width(fmt, NULL, browser->hists);
 
                if (first) {
                        /* for folded sign */
index 0b232d61310c24865aff225c8e901c7358855ecd..6940745aa77c65a25f5beb07242093192fcbee7f 100644 (file)
@@ -215,9 +215,10 @@ static int __hpp__sort_acc(struct hist_entry *a, struct hist_entry *b,
 
 static int hpp__width_fn(struct perf_hpp_fmt *fmt,
                         struct perf_hpp *hpp __maybe_unused,
-                        struct perf_evsel *evsel)
+                        struct hists *hists)
 {
        int len = fmt->user_len ?: fmt->len;
+       struct perf_evsel *evsel = hists_to_evsel(hists);
 
        if (symbol_conf.event_group)
                len = max(len, evsel->nr_members * fmt->len);
@@ -231,7 +232,7 @@ static int hpp__width_fn(struct perf_hpp_fmt *fmt,
 static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
                          struct hists *hists)
 {
-       int len = hpp__width_fn(fmt, hpp, hists_to_evsel(hists));
+       int len = hpp__width_fn(fmt, hpp, hists);
        return scnprintf(hpp->buf, hpp->size, "%*s", len, fmt->name);
 }
 
@@ -632,7 +633,7 @@ unsigned int hists__sort_list_width(struct hists *hists)
                else
                        ret += 2;
 
-               ret += fmt->width(fmt, &dummy_hpp, hists_to_evsel(hists));
+               ret += fmt->width(fmt, &dummy_hpp, hists);
        }
 
        if (verbose && hists__has(hists, sym)) /* Addr + origin */
@@ -657,7 +658,7 @@ unsigned int hists__overhead_width(struct hists *hists)
                else
                        ret += 2;
 
-               ret += fmt->width(fmt, &dummy_hpp, hists_to_evsel(hists));
+               ret += fmt->width(fmt, &dummy_hpp, hists);
        }
 
        return ret;
index d0534fac46ae5641dca9bd5eae3e64cba95d6635..f04a6311207935fc022ca0b9557db8639d6c00a9 100644 (file)
@@ -590,7 +590,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,
                        fprintf(fp, "%s", sep ?: "..");
                first_col = false;
 
-               width = fmt->width(fmt, hpp, hists_to_evsel(hists));
+               width = fmt->width(fmt, hpp, hists);
                fprintf(fp, "%.*s", width, dots);
        }
 
@@ -607,7 +607,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,
                                width++;  /* for '+' sign between column header */
                        first_col = false;
 
-                       width += fmt->width(fmt, hpp, hists_to_evsel(hists));
+                       width += fmt->width(fmt, hpp, hists);
                }
 
                if (width > header_width)
@@ -682,7 +682,7 @@ hists__fprintf_standard_headers(struct hists *hists,
                else
                        first = false;
 
-               width = fmt->width(fmt, hpp, hists_to_evsel(hists));
+               width = fmt->width(fmt, hpp, hists);
                for (i = 0; i < width; i++)
                        fprintf(fp, ".");
        }
index d1f19e0012d44d907a65ac4d1ca281eab38e9b70..2515cfdb7365aecf996d1b69ad21374a2ec30c87 100644 (file)
@@ -1081,7 +1081,7 @@ int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp,
                                   struct perf_hpp_fmt *fmt, int printed)
 {
        if (!list_is_last(&fmt->list, &he->hists->hpp_list->fields)) {
-               const int width = fmt->width(fmt, hpp, hists_to_evsel(he->hists));
+               const int width = fmt->width(fmt, hpp, he->hists);
                if (printed < width) {
                        advance_hpp(hpp, printed);
                        printed = scnprintf(hpp->buf, hpp->size, "%-*s", width - printed, " ");
index aae932f9eb87e7b7e6800bc62337b974752ddb3e..a19112872ff9d0680d2d3bb7376c9e1b3c05ecce 100644 (file)
@@ -217,7 +217,7 @@ struct perf_hpp_fmt {
        int (*header)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
                      struct hists *hists);
        int (*width)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
-                    struct perf_evsel *evsel);
+                    struct hists *hists);
        int (*color)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
                     struct hist_entry *he);
        int (*entry)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
index 3e52c77981e3885d478b3cd63eafc0a73fda67f0..896d34ebcc1e741d4a41b86717f27a101671a490 100644 (file)
@@ -1503,7 +1503,7 @@ static int __sort__hpp_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
 
 static int __sort__hpp_width(struct perf_hpp_fmt *fmt,
                             struct perf_hpp *hpp __maybe_unused,
-                            struct perf_evsel *evsel)
+                            struct hists *hists)
 {
        struct hpp_sort_entry *hse;
        size_t len = fmt->user_len;
@@ -1511,7 +1511,7 @@ static int __sort__hpp_width(struct perf_hpp_fmt *fmt,
        hse = container_of(fmt, struct hpp_sort_entry, hpp);
 
        if (!len)
-               len = hists__col_len(evsel__hists(evsel), hse->se->se_width_idx);
+               len = hists__col_len(hists, hse->se->se_width_idx);
 
        return len;
 }
@@ -1808,7 +1808,7 @@ static int __sort__hde_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
 
 static int __sort__hde_width(struct perf_hpp_fmt *fmt,
                             struct perf_hpp *hpp __maybe_unused,
-                            struct perf_evsel *evsel __maybe_unused)
+                            struct hists *hists __maybe_unused)
 {
        struct hpp_dynamic_entry *hde;
        size_t len = fmt->user_len;