Re: perf tool: About "perf arm64: Inject missing frames when using 'perf record --call-graph=fp'"

From: James Clark
Date: Wed Apr 06 2022 - 09:56:42 EST




On 05/04/2022 15:04, John Garry wrote:
> Hi Alexandre,
>
> I notice that with commit b9f6fbb3b2c2 ("perf arm64: Inject missing frames when using 'perf record --call-graph=fp'") that I get messages spewing the console when running perf record+report, as below:
>
> john@ubuntu:~/linux$sudo tools/perf/perf record -ag fio null12.fio
> john@ubuntu:~/linux$sudo tools/perf/perf report > report
> unwind: can't read reg 29
> unwind: can't read reg 29
> unwind: can't read reg 29
> unwind: can't read reg 29
> ...
>
> Do you know the possible cause? I haven't checked...

Hi John,

I'm going to look into this today. I expect the cause is because we only record
the link register for this change and then do a best effort unwind to see if
we can get the return address just from that. So I don't think this is a major issue,
probably the outcome will be that I mask any of these errors just for this call
to libunwind that we added. The other main call to libunwind should still print
these errors.

One thing that is interesting is why we didn't see this when we were testing
the patch before, and we've also found it a little bit difficult to reproduce here.
So there might be more to it than just masking the error, but I'm not sure yet.

Either way, I don't expect that any unwinding is broken, just that it's
printing an annoying message.

James

>
> Thanks,
> john