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>
This commit is contained in:
Jiri Olsa 2016-05-24 10:12:31 +02:00 committed by Arnaldo Carvalho de Melo
parent 89d9ba8f58
commit 1d62fcd693
1 changed files with 12 additions and 6 deletions

View File

@ -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;