提交 da1b0407 编写于 作者: J Jiri Olsa 提交者: Arnaldo Carvalho de Melo

perf hists: Replace perf_evsel arg perf_hpp_fmt's width callback

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: NJiri 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.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 05372173
...@@ -1056,7 +1056,7 @@ static int hpp__header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, ...@@ -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, static int hpp__width(struct perf_hpp_fmt *fmt,
struct perf_hpp *hpp __maybe_unused, struct perf_hpp *hpp __maybe_unused,
struct perf_evsel *evsel __maybe_unused) struct hists *hists __maybe_unused)
{ {
struct diff_hpp_fmt *dfmt = struct diff_hpp_fmt *dfmt =
container_of(fmt, struct diff_hpp_fmt, fmt); container_of(fmt, struct diff_hpp_fmt, fmt);
......
...@@ -1470,7 +1470,7 @@ static int hist_browser__show_no_entry(struct hist_browser *browser, ...@@ -1470,7 +1470,7 @@ static int hist_browser__show_no_entry(struct hist_browser *browser,
column++ < browser->b.horiz_scroll) column++ < browser->b.horiz_scroll)
continue; continue;
ret = fmt->width(fmt, NULL, hists_to_evsel(browser->hists)); ret = fmt->width(fmt, NULL, browser->hists);
if (first) { if (first) {
/* for folded sign */ /* for folded sign */
......
...@@ -215,9 +215,10 @@ static int __hpp__sort_acc(struct hist_entry *a, struct hist_entry *b, ...@@ -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, static int hpp__width_fn(struct perf_hpp_fmt *fmt,
struct perf_hpp *hpp __maybe_unused, struct perf_hpp *hpp __maybe_unused,
struct perf_evsel *evsel) struct hists *hists)
{ {
int len = fmt->user_len ?: fmt->len; int len = fmt->user_len ?: fmt->len;
struct perf_evsel *evsel = hists_to_evsel(hists);
if (symbol_conf.event_group) if (symbol_conf.event_group)
len = max(len, evsel->nr_members * fmt->len); len = max(len, evsel->nr_members * fmt->len);
...@@ -231,7 +232,7 @@ static int hpp__width_fn(struct perf_hpp_fmt *fmt, ...@@ -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, static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
struct hists *hists) 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); return scnprintf(hpp->buf, hpp->size, "%*s", len, fmt->name);
} }
...@@ -632,7 +633,7 @@ unsigned int hists__sort_list_width(struct hists *hists) ...@@ -632,7 +633,7 @@ unsigned int hists__sort_list_width(struct hists *hists)
else else
ret += 2; 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 */ if (verbose && hists__has(hists, sym)) /* Addr + origin */
...@@ -657,7 +658,7 @@ unsigned int hists__overhead_width(struct hists *hists) ...@@ -657,7 +658,7 @@ unsigned int hists__overhead_width(struct hists *hists)
else else
ret += 2; ret += 2;
ret += fmt->width(fmt, &dummy_hpp, hists_to_evsel(hists)); ret += fmt->width(fmt, &dummy_hpp, hists);
} }
return ret; return ret;
......
...@@ -590,7 +590,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp, ...@@ -590,7 +590,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,
fprintf(fp, "%s", sep ?: ".."); fprintf(fp, "%s", sep ?: "..");
first_col = false; first_col = false;
width = fmt->width(fmt, hpp, hists_to_evsel(hists)); width = fmt->width(fmt, hpp, hists);
fprintf(fp, "%.*s", width, dots); fprintf(fp, "%.*s", width, dots);
} }
...@@ -607,7 +607,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp, ...@@ -607,7 +607,7 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,
width++; /* for '+' sign between column header */ width++; /* for '+' sign between column header */
first_col = false; first_col = false;
width += fmt->width(fmt, hpp, hists_to_evsel(hists)); width += fmt->width(fmt, hpp, hists);
} }
if (width > header_width) if (width > header_width)
...@@ -682,7 +682,7 @@ hists__fprintf_standard_headers(struct hists *hists, ...@@ -682,7 +682,7 @@ hists__fprintf_standard_headers(struct hists *hists,
else else
first = false; first = false;
width = fmt->width(fmt, hpp, hists_to_evsel(hists)); width = fmt->width(fmt, hpp, hists);
for (i = 0; i < width; i++) for (i = 0; i < width; i++)
fprintf(fp, "."); fprintf(fp, ".");
} }
......
...@@ -1081,7 +1081,7 @@ int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp, ...@@ -1081,7 +1081,7 @@ int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp,
struct perf_hpp_fmt *fmt, int printed) struct perf_hpp_fmt *fmt, int printed)
{ {
if (!list_is_last(&fmt->list, &he->hists->hpp_list->fields)) { 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) { if (printed < width) {
advance_hpp(hpp, printed); advance_hpp(hpp, printed);
printed = scnprintf(hpp->buf, hpp->size, "%-*s", width - printed, " "); printed = scnprintf(hpp->buf, hpp->size, "%-*s", width - printed, " ");
......
...@@ -217,7 +217,7 @@ struct perf_hpp_fmt { ...@@ -217,7 +217,7 @@ struct perf_hpp_fmt {
int (*header)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, int (*header)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
struct hists *hists); struct hists *hists);
int (*width)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, 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, int (*color)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
struct hist_entry *he); struct hist_entry *he);
int (*entry)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, int (*entry)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
......
...@@ -1503,7 +1503,7 @@ static int __sort__hpp_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, ...@@ -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, static int __sort__hpp_width(struct perf_hpp_fmt *fmt,
struct perf_hpp *hpp __maybe_unused, struct perf_hpp *hpp __maybe_unused,
struct perf_evsel *evsel) struct hists *hists)
{ {
struct hpp_sort_entry *hse; struct hpp_sort_entry *hse;
size_t len = fmt->user_len; size_t len = fmt->user_len;
...@@ -1511,7 +1511,7 @@ static int __sort__hpp_width(struct perf_hpp_fmt *fmt, ...@@ -1511,7 +1511,7 @@ static int __sort__hpp_width(struct perf_hpp_fmt *fmt,
hse = container_of(fmt, struct hpp_sort_entry, hpp); hse = container_of(fmt, struct hpp_sort_entry, hpp);
if (!len) 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; return len;
} }
...@@ -1808,7 +1808,7 @@ static int __sort__hde_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, ...@@ -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, static int __sort__hde_width(struct perf_hpp_fmt *fmt,
struct perf_hpp *hpp __maybe_unused, struct perf_hpp *hpp __maybe_unused,
struct perf_evsel *evsel __maybe_unused) struct hists *hists __maybe_unused)
{ {
struct hpp_dynamic_entry *hde; struct hpp_dynamic_entry *hde;
size_t len = fmt->user_len; size_t len = fmt->user_len;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册