perf report: Allow configuring the default sort order in ~/.perfconfig
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 12 Aug 2016 23:41:01 +0000 (20:41 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 23 Aug 2016 18:37:33 +0000 (15:37 -0300)
Allows changing the default sort order from "comm,dso,symbol" to some
other default, for instance "sym,dso" may be more fitting for kernel
developers.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-pm1h5puxua8nsxksd68fjm8r@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Documentation/perf-config.txt
tools/perf/builtin-report.c
tools/perf/util/sort.c
tools/perf/util/sort.h

index 15949e2..68c8919 100644 (file)
@@ -382,6 +382,10 @@ call-graph.*::
                histogram entry. Default is 0 which means no limitation.
 
 report.*::
+       report.sort_order::
+               Allows changing the default sort order from "comm,dso,symbol" to
+               some other default, for instance "sym,dso" may be more fitting for
+               kernel developers.
        report.percent-limit::
                This one is mostly the same as call-graph.threshold but works for
                histogram entries. Entries having an overhead lower than this
index 949e5a1..b9e046b 100644 (file)
@@ -89,6 +89,10 @@ static int report__config(const char *var, const char *value, void *cb)
                rep->queue_size = perf_config_u64(var, value);
                return 0;
        }
+       if (!strcmp(var, "report.sort_order")) {
+               default_sort_order = strdup(value);
+               return 0;
+       }
 
        return 0;
 }
index 5ae3d32..1884d7f 100644 (file)
@@ -11,7 +11,7 @@
 regex_t                parent_regex;
 const char     default_parent_pattern[] = "^sys_|^do_page_fault";
 const char     *parent_pattern = default_parent_pattern;
-const char     default_sort_order[] = "comm,dso,symbol";
+const char     *default_sort_order = "comm,dso,symbol";
 const char     default_branch_sort_order[] = "comm,dso_from,symbol_from,symbol_to,cycles";
 const char     default_mem_sort_order[] = "local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked";
 const char     default_top_sort_order[] = "dso,symbol";
index 7ca37ea..28c0524 100644 (file)
@@ -28,7 +28,7 @@ extern const char *sort_order;
 extern const char *field_order;
 extern const char default_parent_pattern[];
 extern const char *parent_pattern;
-extern const char default_sort_order[];
+extern const char *default_sort_order;
 extern regex_t ignore_callees_regex;
 extern int have_ignore_callees;
 extern enum sort_mode sort__mode;