On Wed, Mar 14, 2018 at 2:22 AM, Jiri Olsa <[email protected]> wrote: > We need to synthesize events first, because some > features works on top of them (on report side). > > Link: http://lkml.kernel.org/n/[email protected] > Signed-off-by: Jiri Olsa <[email protected]>
Works for me. Tested-by: Stephane Eranian <[email protected]> > --- > tools/perf/builtin-record.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c > index d33103291b02..22ebeb92ac51 100644 > --- a/tools/perf/builtin-record.c > +++ b/tools/perf/builtin-record.c > @@ -754,13 +754,10 @@ static int record__synthesize(struct record *rec, bool > tail) > return 0; > > if (data->is_pipe) { > - err = perf_event__synthesize_features( > - tool, session, rec->evlist, > process_synthesized_event); > - if (err < 0) { > - pr_err("Couldn't synthesize features.\n"); > - return err; > - } > - > + /* > + * We need to synthesize events first, because some > + * features works on top of them (on report side). > + */ > err = perf_event__synthesize_attrs(tool, session, > process_synthesized_event); > if (err < 0) { > @@ -768,6 +765,13 @@ static int record__synthesize(struct record *rec, bool > tail) > goto out; > } > > + err = perf_event__synthesize_features(tool, session, > rec->evlist, > + > process_synthesized_event); > + if (err < 0) { > + pr_err("Couldn't synthesize features.\n"); > + return err; > + } > + > if (have_tracepoints(&rec->evlist->entries)) { > /* > * FIXME err <= 0 here actually means that > -- > 2.13.6 >

