Re: Does perf inject preserve call chain data?

From: Arnaldo Carvalho de Melo
Date: Fri Jun 08 2012 - 10:38:46 EST


Em Tue, May 22, 2012 at 03:58:40PM -0600, David Ahern escreveu:
> 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.

How things stand here? Tim, did this fix things for you? If so, David,
please resend with a proper subject line and a Tested-by: Tim, ok?

Thanks,

- Arnaldo

>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/