perf c2c report: Add 'symbol' and 'dso' sort keys
authorJiri Olsa <jolsa@kernel.org>
Tue, 24 May 2016 21:41:52 +0000 (23:41 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 19 Oct 2016 16:18:31 +0000 (13:18 -0300)
They are to be displayed in the single cacheline output:

  symbol, dso

They are wrappers for global sort_sym and sort_dso sort entries with c2c
specific headers.

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-6742e6g0r7n63y5wc4rrgxx5@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-c2c.c

index 77810a30a4cc339c8f550d8bdc738e078bc15107..ffd41744886e4d55b730b0ebc06c2b91d5c12d62 100644 (file)
@@ -1104,6 +1104,17 @@ static struct c2c_dimension dim_tid = {
        .se             = &sort_thread,
 };
 
+static struct c2c_dimension dim_symbol = {
+       .name           = "symbol",
+       .se             = &sort_sym,
+};
+
+static struct c2c_dimension dim_dso = {
+       .header         = HEADER_BOTH("Shared", "Object"),
+       .name           = "dso",
+       .se             = &sort_dso,
+};
+
 static struct c2c_dimension *dimensions[] = {
        &dim_dcacheline,
        &dim_offset,
@@ -1135,6 +1146,8 @@ static struct c2c_dimension *dimensions[] = {
        &dim_dram_rmt,
        &dim_pid,
        &dim_tid,
+       &dim_symbol,
+       &dim_dso,
        NULL,
 };
 
@@ -1249,12 +1262,17 @@ static int c2c_hists__init_output(struct perf_hpp_list *hpp_list, char *name)
 static int c2c_hists__init_sort(struct perf_hpp_list *hpp_list, char *name)
 {
        struct c2c_fmt *c2c_fmt = get_format(name);
+       struct c2c_dimension *dim;
 
        if (!c2c_fmt) {
                reset_dimensions();
                return sort_dimension__add(hpp_list, name, NULL, 0);
        }
 
+       dim = c2c_fmt->dim;
+       if (dim == &dim_dso)
+               hpp_list->dso = 1;
+
        perf_hpp_list__register_sort_field(hpp_list, &c2c_fmt->fmt);
        return 0;
 }