Commit 1d62fcd6 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf c2c report: Setup number of header lines for hists

Allow to setup number of header lines for c2c hists objects.
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Joe Mario <jmario@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-4ilsf0ulubrd4y96g7tnpwzk@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 89d9ba8f
...@@ -100,11 +100,13 @@ static struct hist_entry_ops c2c_entry_ops = { ...@@ -100,11 +100,13 @@ static struct hist_entry_ops c2c_entry_ops = {
}; };
static int c2c_hists__init(struct c2c_hists *hists, static int c2c_hists__init(struct c2c_hists *hists,
const char *sort); const char *sort,
int nr_header_lines);
static struct c2c_hists* static struct c2c_hists*
he__get_c2c_hists(struct hist_entry *he, he__get_c2c_hists(struct hist_entry *he,
const char *sort) const char *sort,
int nr_header_lines)
{ {
struct c2c_hist_entry *c2c_he; struct c2c_hist_entry *c2c_he;
struct c2c_hists *hists; struct c2c_hists *hists;
...@@ -118,7 +120,7 @@ he__get_c2c_hists(struct hist_entry *he, ...@@ -118,7 +120,7 @@ he__get_c2c_hists(struct hist_entry *he,
if (!hists) if (!hists)
return NULL; return NULL;
ret = c2c_hists__init(hists, sort); ret = c2c_hists__init(hists, sort, nr_header_lines);
if (ret) { if (ret) {
free(hists); free(hists);
return NULL; return NULL;
...@@ -214,7 +216,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused, ...@@ -214,7 +216,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused,
if (!mi_dup) if (!mi_dup)
goto free_mi; goto free_mi;
c2c_hists = he__get_c2c_hists(he, "offset"); c2c_hists = he__get_c2c_hists(he, "offset", 2);
if (!c2c_hists) if (!c2c_hists)
goto free_mi_dup; goto free_mi_dup;
...@@ -1591,7 +1593,8 @@ static int hpp_list__parse(struct perf_hpp_list *hpp_list, ...@@ -1591,7 +1593,8 @@ static int hpp_list__parse(struct perf_hpp_list *hpp_list,
} }
static int c2c_hists__init(struct c2c_hists *hists, static int c2c_hists__init(struct c2c_hists *hists,
const char *sort) const char *sort,
int nr_header_lines)
{ {
__hists__init(&hists->hists, &hists->list); __hists__init(&hists->hists, &hists->list);
...@@ -1602,6 +1605,9 @@ static int c2c_hists__init(struct c2c_hists *hists, ...@@ -1602,6 +1605,9 @@ static int c2c_hists__init(struct c2c_hists *hists,
*/ */
perf_hpp_list__init(&hists->list); perf_hpp_list__init(&hists->list);
/* Overload number of header lines.*/
hists->list.nr_header_lines = nr_header_lines;
return hpp_list__parse(&hists->list, NULL, sort); return hpp_list__parse(&hists->list, NULL, sort);
} }
...@@ -1730,7 +1736,7 @@ static int perf_c2c__report(int argc, const char **argv) ...@@ -1730,7 +1736,7 @@ static int perf_c2c__report(int argc, const char **argv)
file.path = input_name; file.path = input_name;
err = c2c_hists__init(&c2c.hists, "dcacheline"); err = c2c_hists__init(&c2c.hists, "dcacheline", 2);
if (err) { if (err) {
pr_debug("Failed to initialize hists\n"); pr_debug("Failed to initialize hists\n");
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment