Hi Kim,
On 05/15/2017 01:26 PM, Sebastian Pop wrote:
On 05/15/2017 12:15 PM, Kim Phillips wrote:
0x350 [0x50]: failed to process type: 1
I even went back to try the 4.11-rc1 branch, and get the same error.
That's all with native-built perf: something the instructions seem to imply: e.g., there are no instructions saying when to go in between the host and the target machines.
When trying to do the cross-built perf inject with OpenCSD libraries (also not mentioned in the instructions, nor does inject complain if not built without them), things start to work a bit better in that the "failed to process type: 1" error does not occur.
I have not tried to run perf inject on aarch64, though my thinking is that perf inject should work the same on all machines: what you see is a bug.
I just verified that back last year, I did run all the commands including perf inject on aarch64-linux. I still have all the scripts and the data around, and I was able to process the perf.data containing ETM traces into LBR events. This is on a Juno-r0 board with perf built natively on aarch64-linux from top of tree git plus two patches:
commit 88e9321047b0a795d1d7c2408ac77f910768f94b Author: Sebastian Pop s.pop@samsung.com Date: Tue Dec 13 16:24:52 2016 -0600
perf tools: new inject capabilitity for CoreSight traces
Added user space perf functionality to translate CoreSight traces into last branch stack events. To invoke the new functionality, use the perf inject tool with --itrace=il. For example, to translate the ETM trace from perf.data into last branch records in a new inj.data file:
The parameter to 'l' 128 is parsed as recording the last 128 branches from the sampling point. Also note that right now the parameter to 'i' 100us is ignored, and we end up translating all the branches in the trace.
Signed-off-by: Sebastian Pop s.pop@samsung.com Signed-off-by: Brian Rzycki b.rzycki@samsung.com
commit cf5c7b9681d89585e1a80c63d2fb422f50dc4ee3 Author: Sebastian Pop s.pop@samsung.com Date: Fri Dec 9 10:57:34 2016 -0600
perf tools: fix printing of auxtrace_info
The first CS_HEADER_VERSION_0_MAX words of an ETM trace are reserved for the header. To check the ETM version, one needs to skip over the header bytes and check the next word against __perf_cs_etmv{3,4}_magic.
Signed-off-by: Sebastian Pop s.pop@samsung.com
commit b50067a52cf308aaab87a20e38cbdb2928a36c5a Author: Mike Leach mike.leach@linaro.org Date: Tue Nov 29 17:46:22 2016 +0000
cs-etm: Update to perf cs-etm decoder for OpenCSD v0.5
Adds additional generic packet types to switch statement in decoder to ensure compilation without errors.
Signed-off-by: Mike Leach mike.leach@linaro.org
Please let me try to reproduce the bug, and if I cannot, I will ask you for your perf.data that exposes the problem.
Could you please send me privately (at s.pop@samsung.com) your perf.data file on which you see the error, and the sha key of the kernel repo you are using?
Thanks, Sebastian