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;