Re: [PATCH 3/3] perf tools: Add readable output for callchain debug

From: Arnaldo Carvalho de Melo
Date: Mon Feb 03 2014 - 10:10:25 EST


Em Mon, Feb 03, 2014 at 12:44:43PM +0100, Jiri Olsa escreveu:
> Adding people readable output for callchain debug,
> to get following '-v' output:
>
> $ perf record -v -g ls
> callchain: type DWARF
> callchain: stack dump size 4096
> ...

Applied, but then I tried:

[acme@zoo linux]$ perf evlist -v
cycles: sample_freq=4000, size: 96, sample_type:
IP|TID|TIME|CALLCHAIN|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1,
freq: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1
[acme@zoo linux]$


I.e. using the tool that provides info about 'perf.data' files, and
there I couldn't figure it out which kind of callchains was used, can
you fix it there too?

- Arnaldo

> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> tools/perf/builtin-record.c | 4 +++-
> tools/perf/perf.h | 3 ++-
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 3f7ec8a..679758f 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -741,7 +741,9 @@ int record_parse_callchain(const char *arg, struct record_opts *opts)
>
> static void callchain_debug(struct record_opts *opts)
> {
> - pr_debug("callchain: type %d\n", opts->call_graph);
> + static const char *str[CALLCHAIN_MAX] = { "NONE", "FP", "DWARF" };
> +
> + pr_debug("callchain: type %s\n", str[opts->call_graph]);
>
> if (opts->call_graph == CALLCHAIN_DWARF)
> pr_debug("callchain: stack dump size %d\n",
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index 6dabc15..c30e1ae 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -251,7 +251,8 @@ void pthread__unblock_sigwinch(void);
> enum perf_call_graph_mode {
> CALLCHAIN_NONE,
> CALLCHAIN_FP,
> - CALLCHAIN_DWARF
> + CALLCHAIN_DWARF,
> + CALLCHAIN_MAX
> };
>
> struct record_opts {
> --
> 1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/