Re: [PATCH 2/7] perf auxtrace: Prevent decoding when --no-itrace
From: Arnaldo Carvalho de Melo
Date: Tue Mar 06 2018 - 09:06:30 EST
Em Tue, Mar 06, 2018 at 11:13:13AM +0200, Adrian Hunter escreveu:
> Prevent auxtrace_queues__process_index() from queuing AUX area data for
> decoding when the --no-itrace option has been used.
So I'm putting this one both on perf/urgent and on perf/core, the rest
just on perf/core, ok?
- Arnaldo
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> tools/perf/util/auxtrace.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
> index 9faf3b5367db..6470ea2aa25e 100644
> --- a/tools/perf/util/auxtrace.c
> +++ b/tools/perf/util/auxtrace.c
> @@ -60,6 +60,12 @@
> #include "sane_ctype.h"
> #include "symbol/kallsyms.h"
>
> +static bool auxtrace__dont_decode(struct perf_session *session)
> +{
> + return !session->itrace_synth_opts ||
> + session->itrace_synth_opts->dont_decode;
> +}
> +
> int auxtrace_mmap__mmap(struct auxtrace_mmap *mm,
> struct auxtrace_mmap_params *mp,
> void *userpg, int fd)
> @@ -762,6 +768,9 @@ int auxtrace_queues__process_index(struct auxtrace_queues *queues,
> size_t i;
> int err;
>
> + if (auxtrace__dont_decode(session))
> + return 0;
> +
> list_for_each_entry(auxtrace_index, &session->auxtrace_index, list) {
> for (i = 0; i < auxtrace_index->nr; i++) {
> ent = &auxtrace_index->entries[i];
> @@ -892,12 +901,6 @@ int perf_event__synthesize_auxtrace_info(struct auxtrace_record *itr,
> return err;
> }
>
> -static bool auxtrace__dont_decode(struct perf_session *session)
> -{
> - return !session->itrace_synth_opts ||
> - session->itrace_synth_opts->dont_decode;
> -}
> -
> int perf_event__process_auxtrace_info(struct perf_tool *tool __maybe_unused,
> union perf_event *event,
> struct perf_session *session)
> --
> 1.9.1