[PATCH] perf tools: Fix pipe check regression in attr event callback

From: Jiri Olsa
Date: Thu Jun 05 2014 - 13:00:52 EST


On Thu, Jun 05, 2014 at 06:06:41PM +0200, Stephane Eranian wrote:
> Hi Jiri,
>
> Somehow, I thought you had written a fix to avoid the problem below.
> But when I try with tip.git, the problem is still there.
> Could you push your fix ASAP.
>
> Thanks.
>
> $ perf record -o - noploop 2 | perf inject -b | perf report -i -
> # To display the perf.data header info, please use
> --header/--header-only options.
> #
> noploop for 2 seconds
> 0x1bd0 [0x28]: failed to process type: 9

hum, I remember fixing another issue.. this one is
separated one, please try attached patch.

thanks,
jirka


---
The file factoring in builtin-inject.c object introduced regression
in attr event callback. The commit is:
3406912 perf inject: Handle output file via perf_data_file object

Following hunk reversed the logic:
- if (!inject->pipe_output)
+ if (&inject->output.is_pipe)

putting it back, following example now works:
$ perf record -o - kill | perf inject -b | perf report -i -

Reported-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/builtin-inject.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 6a3af00..664010b 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -72,7 +72,7 @@ static int perf_event__repipe_attr(struct perf_tool *tool,
if (ret)
return ret;

- if (&inject->output.is_pipe)
+ if (!&inject->output.is_pipe)
return 0;

return perf_event__repipe_synth(tool, event);
--
1.8.3.1

--
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/