perf record: Synthesize features before events in pipe mode
We need to synthesize events first, because some features works on top of them (on report side). Signed-off-by: Jiri Olsa <jolsa@kernel.org> Tested-by: Stephane Eranian <eranian@google.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20180314092205.23291-1-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
66790bc8e1
commit
a2015516c5
1 changed files with 11 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue