lkml.org 
[lkml]   [2012]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] perf report: fix error with -g in pipe mode
On 4/10/12 4:13 AM, Stephane Eranian wrote:
> In pipe mode, we cannot check the validity of sample_type
> or the branch view mode until we start processing the events.
> There is no meta-data information at the beginning of the pipe
> mode stream. Instead, all the meta data is pushed via pseudo
> records and those get processed by process_sample_events().
>
> Without this patch:
> $ perf record -g -o - foo | perf inject -b | perf report -g -i -
> Selected -g but no callchain data. Did you call 'perf record' without -g?
>
> Signed-off-by: Stephane Eranian<eranian@google.com>

Reviewed-by: David Ahern <dsahern@gmail.com>
Tested-by: David Ahern <dsahern@gmail.com>


> ---
>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 2e31743..c338b97 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -249,6 +249,13 @@ static int perf_report__setup_sample_type(struct perf_report *rep)
> {
> struct perf_session *self = rep->session;
>
> + /*
> + * cannot determine sample type, branch mode until we have
> + * processed the meta-data pseudo records via process_sample_events()
> + */
> + if (self->fd_pipe)
> + return 0;
> +
> if (!(self->sample_type& PERF_SAMPLE_CALLCHAIN)) {
> if (sort__has_parent) {
> ui__warning("Selected --sort parent, but no "



\
 
 \ /
  Last update: 2012-04-10 18:35    [W:0.035 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site