diff options
author | Namhyung Kim <namhyung@kernel.org> | 2013-10-30 17:05:55 +0900 |
---|---|---|
committer | Jiri Olsa <jolsa@kernel.org> | 2014-06-01 14:35:07 +0200 |
commit | 1432ec342ece6a7ef78825ae3a9ba1c91686f71d (patch) | |
tree | 41a82bdc9e732dc6a5e6072cb8e6417dfba467b8 /tools/perf/builtin-top.c | |
parent | 7c50391f536ea6ed1e75b0f4d90922a2606da3de (diff) | |
download | linux-1432ec342ece6a7ef78825ae3a9ba1c91686f71d.tar.gz linux-1432ec342ece6a7ef78825ae3a9ba1c91686f71d.tar.bz2 linux-1432ec342ece6a7ef78825ae3a9ba1c91686f71d.zip |
perf top: Add --children option
The --children option is for showing accumulated overhead (period)
value as well as self overhead. It should be used with one of -g or
--call-graph option.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arun Sharma <asharma@fb.com>
Tested-by: Rodrigo Campos <rodrigo@sdfg.com.ar>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/r/1401335910-16832-21-git-send-email-namhyung@kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r-- | tools/perf/builtin-top.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index b1cb5f589ade..fea55e3fc931 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -1098,6 +1098,8 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused) OPT_CALLBACK(0, "call-graph", &top.record_opts, "mode[,dump_size]", record_callchain_help, &parse_callchain_opt), + OPT_BOOLEAN(0, "children", &symbol_conf.cumulate_callchain, + "Accumulate callchains of children and show total overhead as well"), OPT_INTEGER(0, "max-stack", &top.max_stack, "Set the maximum stack depth when parsing the callchain. " "Default: " __stringify(PERF_MAX_STACK_DEPTH)), @@ -1203,6 +1205,11 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused) top.sym_evsel = perf_evlist__first(top.evlist); + if (!symbol_conf.use_callchain) { + symbol_conf.cumulate_callchain = false; + perf_hpp__cancel_cumulate(); + } + symbol_conf.priv_size = sizeof(struct annotation); symbol_conf.try_vmlinux_path = (symbol_conf.vmlinux_name == NULL); |