summaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-c2c.c
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-05-24 10:12:31 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-10-19 13:18:31 -0300
commit1d62fcd693c0014dca74490a1139be36271f4af6 (patch)
tree58a7c1b0669f7d2a37763aa4632189a00d2481ff /tools/perf/builtin-c2c.c
parent89d9ba8f5852f38927bb12cd9e62ffb8b1d89ccd (diff)
downloadlinux-1d62fcd693c0014dca74490a1139be36271f4af6.tar.bz2
perf c2c report: Setup number of header lines for hists
Allow to setup number of header lines for c2c hists objects. Signed-off-by: Jiri 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.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-c2c.c')
-rw-r--r--tools/perf/builtin-c2c.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 0f898d3ff84c..44a85679a704 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -100,11 +100,13 @@ static struct hist_entry_ops c2c_entry_ops = {
};
static int c2c_hists__init(struct c2c_hists *hists,
- const char *sort);
+ const char *sort,
+ int nr_header_lines);
static struct c2c_hists*
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_hists *hists;
@@ -118,7 +120,7 @@ he__get_c2c_hists(struct hist_entry *he,
if (!hists)
return NULL;
- ret = c2c_hists__init(hists, sort);
+ ret = c2c_hists__init(hists, sort, nr_header_lines);
if (ret) {
free(hists);
return NULL;
@@ -214,7 +216,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused,
if (!mi_dup)
goto free_mi;
- c2c_hists = he__get_c2c_hists(he, "offset");
+ c2c_hists = he__get_c2c_hists(he, "offset", 2);
if (!c2c_hists)
goto free_mi_dup;
@@ -1591,7 +1593,8 @@ static int hpp_list__parse(struct perf_hpp_list *hpp_list,
}
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);
@@ -1602,6 +1605,9 @@ static int c2c_hists__init(struct c2c_hists *hists,
*/
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);
}
@@ -1730,7 +1736,7 @@ static int perf_c2c__report(int argc, const char **argv)
file.path = input_name;
- err = c2c_hists__init(&c2c.hists, "dcacheline");
+ err = c2c_hists__init(&c2c.hists, "dcacheline", 2);
if (err) {
pr_debug("Failed to initialize hists\n");
goto out;