linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Perf call-graph on arm aarch64 Linux
@ 2014-11-06  6:43 Hemendra Rawat
  0 siblings, 0 replies; only message in thread
From: Hemendra Rawat @ 2014-11-06  6:43 UTC (permalink / raw)
  To: linux-perf-users

Hi,

I'm trying to profile NAS benchmarks on a 64bit ARM machine running 
linux. I want to find number of cycles elapsed in each function of my 
multi-threaded application. For this, I'm trying to  generate call-graphs 
for my program for each thread using perf. I'm using perf as follows : 

perf record -g -s ./is.A 2                 (2 = Number of threads)
perf report -s pid --call-graph=graph

The problem I'm facing is that  when i call perf report, It prints 
"Failed to open /tmp/perf-565.map" and the generated call-graph 
has no symbol information 

Samples: 29K of event 'cycles'
# Event count (approx.): 17905152121
#
# Overhead                              Symbol
# ........  ..................................
#
    99.72%  [.] 0x0000000000005080            
            |          
            |--40.99%-- 0x402760
            |          |          
            |          |--87.05%-- 0x403fa4
            |          |          0x407e6c
            |          |          0x430c6c
            |          |          |          
            |          |          |--99.85%-- 0x0
            |          |           --0.15%-- [...]
            |          |          
            |           --12.95%-- 0x402df8
            |                     |          
            |                     |--90.98%-- 0x403050
            |                     |          0x40b7b8
            |                     |          0x40244c
            |                     |          0x7fd7c9dbc8
            |                     |          
            |                      --9.02%-- 0x403014
            |                                0x40b7b8
            |                                0x40244c
            |                                

Also, the generated call-graphs are not per thread. On an x86 machine, 
I get proper call-graphs with symbol information and "perf report -s pid" 
sorts the results thread wise. My version of perf on x86 is "3.16" on ARM 
it is "3.12"  

Linux dhcp-10-66-9-75 3.12.0-mustang_sw_1.13.28-beta  aarch64 GNU/Linux
[root@dhcp-10-66-9-75 tmp]# perf --version
perf version 3.12.0

Can someone please help me with how to proceed. It is something to do 
with the version of perf I have on my ARM machine ? I read somewhere 
on Internet that I need to have DWARF support for which I  need to compile 
perf using libunwind. Is it possible to compile and install a new version of 
perf (3.16) on my existing linux version (3.12.0). Any help would 
be highly appreciated.

Thanks
Hemendra

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-11-06  6:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-06  6:43 Perf call-graph on arm aarch64 Linux Hemendra Rawat

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).