* [tip:perf/core] perf trace: Make --(min,max}-stack imply "--call-graph dwarf"
@ 2016-04-16 9:20 tip-bot for Arnaldo Carvalho de Melo
0 siblings, 0 replies; only message in thread
From: tip-bot for Arnaldo Carvalho de Melo @ 2016-04-16 9:20 UTC (permalink / raw)
To: linux-tip-commits
Cc: namhyung, milian.wolff, mingo, hpa, acme, dsahern, adrian.hunter,
jolsa, linux-kernel, wangnan0, tglx
Commit-ID: 056149932602ef905f1e26fc4fe242ef0533a597
Gitweb: http://git.kernel.org/tip/056149932602ef905f1e26fc4fe242ef0533a597
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
AuthorDate: Fri, 15 Apr 2016 16:41:19 -0300
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 15 Apr 2016 16:41:19 -0300
perf trace: Make --(min,max}-stack imply "--call-graph dwarf"
If one uses:
# perf trace --min-stack 16
Then it implicitly means that callgraphs should be enabled, and the best
option in terms of widespread availability is "dwarf".
Further work needed to choose a better alternative, LBR, in capable
systems.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-xtjmnpkyk42npekxz3kynzmx@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-trace.txt | 6 ++++++
tools/perf/builtin-trace.c | 13 ++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
index 4e8baa7..146c6db 100644
--- a/tools/perf/Documentation/perf-trace.txt
+++ b/tools/perf/Documentation/perf-trace.txt
@@ -136,12 +136,18 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
not limiting, the overhead of callchains needs to be set via the
knobs in --call-graph dwarf.
+ Implies '--call-graph dwarf' when --call-graph not present on the
+ command line, on systems where DWARF unwinding was built in.
+
Default: 127
--min-stack::
Set the stack depth limit when parsing the callchain, anything
below the specified depth will be ignored. Disabled by default.
+ Implies '--call-graph dwarf' when --call-graph not present on the
+ command line, on systems where DWARF unwinding was built in.
+
--proc-map-timeout::
When processing pre-existing threads /proc/XXX/mmap, it may take a long time,
because the file may be huge. A time out is needed in such cases.
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 6a64cb1..19f5100 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -3047,7 +3047,7 @@ int cmd_trace(int argc, const char **argv, const char *prefix __maybe_unused)
.show_comm = true,
.trace_syscalls = true,
.kernel_syscallchains = false,
- .max_stack = PERF_MAX_STACK_DEPTH,
+ .max_stack = UINT_MAX,
};
const char *output_name = NULL;
const char *ev_qualifier_str = NULL;
@@ -3109,6 +3109,7 @@ int cmd_trace(int argc, const char **argv, const char *prefix __maybe_unused)
"per thread proc mmap processing timeout in ms"),
OPT_END()
};
+ bool max_stack_user_set = true;
const char * const trace_subcommands[] = { "record", NULL };
int err;
char bf[BUFSIZ];
@@ -3142,6 +3143,16 @@ int cmd_trace(int argc, const char **argv, const char *prefix __maybe_unused)
trace.opts.sample_time = true;
}
+ if (trace.max_stack == UINT_MAX) {
+ trace.max_stack = PERF_MAX_STACK_DEPTH;
+ max_stack_user_set = false;
+ }
+
+#ifdef HAVE_DWARF_UNWIND_SUPPORT
+ if ((trace.min_stack || max_stack_user_set) && !trace.opts.callgraph_set)
+ record_opts__parse_callchain(&trace.opts, &callchain_param, "dwarf", false);
+#endif
+
if (trace.opts.callgraph_set)
symbol_conf.use_callchain = true;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-04-16 9:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-16 9:20 [tip:perf/core] perf trace: Make --(min,max}-stack imply "--call-graph dwarf" tip-bot for Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.