Messages in this thread Patch in this message | | | Date | Tue, 22 May 2012 15:58:40 -0600 | From | David Ahern <> | Subject | Re: Does perf inject preserve call chain data? |
| |
On 5/22/12 12:49 PM, Tim Chen wrote: > Arnaldo, > > Wonder if perf inject munged the call chain data from perf record? > > When I do > perf record -a -g -o - sleep 5 |perf inject -v -b | perf report -g -i - > I get a complain from perf report > > Warning: > Selected -g but no callchain data. Did you call 'perf record' without -g? >
I believe the root cause is that the event list is not written to the pipe. Using Arnaldo's git repo as of today (has fixes from Stephane) this hack shows the info is there and can be processed.
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index d58e414..60f3f17 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -256,7 +257,7 @@ static int perf_report__setup_sample_type(struct perf_report *rep) "'perf record' without -g?\n"); return -EINVAL; } - if (symbol_conf.use_callchain) { + if (!self->fd_pipe && symbol_conf.use_callchain) { ui__warning("Selected -g but no callchain data. Did " "you call 'perf record' without -g?\n"); return -1; A proper solution is needed.
David
| |