linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Cross platform perf reporting
@ 2016-08-12 12:22 Milian Wolff
  2016-08-12 14:38 ` David Ahern
  2016-08-12 15:10 ` Milian Wolff
  0 siblings, 2 replies; 8+ messages in thread
From: Milian Wolff @ 2016-08-12 12:22 UTC (permalink / raw)
  To: linux-perf-users

[-- Attachment #1: Type: text/plain, Size: 3147 bytes --]

Hey all,

I'm trying to analyze perf.data files that I recorded on one machine (usually 
arm or arm64) on my development machine (x86_64). I have compiled a new 
version of perf (and the corresponding dependencies, where needed) to do this.

Now I do:

~~~~~~~~~~~~~~~~~~~~~~~~
aarch64$ perf record -g ...
aarch64$ perf archive

x86_64$ scp aarch64:perf.data* .
x86_64$ tar xvf perf.data.tar.bz2 -C ~/.debug
x86_64$ perf report |& less
-> lots of errors, none of which are displayed in the TUI, such as:

unwind: target platform=arm64 is not supported
(often repeated)
Failed to open /lib/ld-2.21.so, continuing without symbols
Failed to open /lib/libc-2.21.so, continuing without symbols
Failed to open /lib/libpthread-2.21.so, continuing without symbols
Failed to open /lib/libdl-2.21.so, continuing without symbols
...
~~~~~~~~~~~~~~~~~~~~~~~~

If I try to run `perf report` on the device, I actually see resolved symbol 
names and backtraces, e.g.:

~~~~~~~~~~~~~~~~~~~~~~~~
aarch64$ perf report
...
    62.93%     0.00%  QQmlThread       libglib-2.0.so.0.4200.1                                       
[.] g_main_context_iteration
            |
            ---g_main_context_iteration
               |          
                --62.92%--0x55ae0
                          g_main_context_dispatch
                          0x322dc4
                          QCoreApplicationPrivate::sendPostedEvents
                          |          
                           --62.91%--QCoreApplication::notifyInternal2
                                     QCoreApplication::notify
                                     QCoreApplicationPrivate::notify_helper
                                     0x2decc8
                                     |          
                                      --62.89%--0x2de2b4
...
~~~~~~~~~~~~~~~~~~~~~~~~

But if I do the same on my development machine, after extracting the perf 
archive, I only see:

~~~~~~~~~~~~~~~~~~~~~~~~
    62.93%     0.00%  QQmlThread       [unknown]                                                     
[.] 0x0000007fa58c0eac
            |
            ---0x7fa58c0eac
               |          
                --62.93%--0x7fa58c14a4
                          |          
                           --62.92%--0x7fa56c43bc
                                     0x7fa5e55dfc
                                     0x7fa56c9be8
                                     0x6e48
                                     0xc7e90
~~~~~~~~~~~~~~~~~~~~~~~~

So my questions:

- How do I get an arm / aarch64 unwinder to work on x86_64? Do I need to 
compile libunwind in a special way?

- Is the unwinder what is missing to get the symbols resolved in the report? 
Note that e.g. the "libglib" is not reported as "Failed to open", thus I 
wonder why I'm not seeing the "g_main_context_iteration" symbol from it in the 
report. It seems as if the mapping between address and SO is broken?

Any hints on how to improve that situation would be welcome.

Thanks

-- 
Milian Wolff | milian.wolff@kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5903 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-08-15 16:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-12 12:22 Cross platform perf reporting Milian Wolff
2016-08-12 14:38 ` David Ahern
2016-08-12 15:10 ` Milian Wolff
2016-08-12 15:31   ` Arnaldo Carvalho de Melo
2016-08-15 12:20     ` Milian Wolff
2016-08-15 14:42       ` David Ahern
2016-08-15 15:22         ` Milian Wolff
2016-08-15 16:08           ` David Ahern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).