diff options
| author | Namhyung Kim <[email protected]> | 2014-10-06 00:45:59 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2014-10-15 19:20:03 +0000 |
| commit | 0cdccac6fe4b1316f04f0dbfcc4efab51932014a (patch) | |
| tree | abface2cdf20e4a608d0c1ac0bbdb0f0282db296 | |
| parent | perf evlist: Fix for double free in tools/perf stat (diff) | |
| download | kernel-0cdccac6fe4b1316f04f0dbfcc4efab51932014a.tar.gz kernel-0cdccac6fe4b1316f04f0dbfcc4efab51932014a.zip | |
perf report: Set callchain_param.record_mode for future use
Normally the callchain_param.record_mode is used only for record path.
But as it might need to prepare something for dwarf unwinding, setup
this info for perf report too.
Signed-off-by: Namhyung Kim <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jean Pihet <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
| -rw-r--r-- | tools/perf/builtin-report.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/dwarf-unwind.c | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 2cfc4b93991f..140a6cd88351 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -257,6 +257,13 @@ static int report__setup_sample_type(struct report *rep) } } + if (symbol_conf.use_callchain || symbol_conf.cumulate_callchain) { + if ((sample_type & PERF_SAMPLE_REGS_USER) && + (sample_type & PERF_SAMPLE_STACK_USER)) + callchain_param.record_mode = CALLCHAIN_DWARF; + else + callchain_param.record_mode = CALLCHAIN_FP; + } return 0; } diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c index 96adb730b744..fc25e57f4a5d 100644 --- a/tools/perf/tests/dwarf-unwind.c +++ b/tools/perf/tests/dwarf-unwind.c @@ -9,6 +9,7 @@ #include "perf_regs.h" #include "map.h" #include "thread.h" +#include "callchain.h" static int mmap_handler(struct perf_tool *tool __maybe_unused, union perf_event *event, @@ -120,6 +121,8 @@ int test__dwarf_unwind(void) return -1; } + callchain_param.record_mode = CALLCHAIN_DWARF; + if (init_live_machine(machine)) { pr_err("Could not init machine\n"); goto out; |
