[PATCH 40/57] perf c2c report: Setup number of header lines for hists

From: Jiri Olsa
Date: Thu Sep 22 2016 - 11:39:08 EST


Allow to setup number of header lines for c2c hists objects.

Link: http://lkml.kernel.org/n/tip-4ilsf0ulubrd4y96g7tnpwzk@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/builtin-c2c.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 8fb798c8a790..e281930e57da 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);

@@ -212,7 +214,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;

@@ -1588,7 +1590,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);

@@ -1599,6 +1602,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);
}

@@ -1727,7 +1733,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;
--
2.7.4