Re: [PATCH 2/7] perf auxtrace: Prevent decoding when --no-itrace

From: Arnaldo Carvalho de Melo
Date: Tue Mar 06 2018 - 09:32:36 EST


Em Tue, Mar 06, 2018 at 04:21:32PM +0200, Adrian Hunter escreveu:
> On 06/03/18 16:06, Arnaldo Carvalho de Melo wrote:
> > 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?
>
> Yes, thank you!
>
> Have you got this one also:
>
> https://marc.info/?l=linux-kernel&m=151980982703990

Hadn't, got it now, please next time put the subject line here,
sometimes I am offline and could then process the patches I have in my
local inbox, etc.

Thanks,

- Arnaldo

> >
> > - 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
> >