On a fresh Xenial/arm64 installation:

$ uname -r
4.4.0-141-generic
$ uname -m
aarch64

$ dpkg -S $(which perf)
linux-tools-common: /usr/bin/perf

$ dpkg --get-selections | grep linux-tools
linux-tools-4.4.0-141                           install
linux-tools-4.4.0-141-generic                   install
linux-tools-common                              install
linux-tools-generic                             install


$ sudo perf record -a -- sleep 10
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.131 MB perf.data (626 samples) ]

followed by:

$ sudo perf report

i see the captured samples:

  42.22%  swapper        [kernel.kallsyms]  [k] arch_cpu_idle                   
                                                                       ▒
   5.10%  tmux           [kernel.kallsyms]  [k] copy_page                       
                                                                       ◆
   1.37%  tmux           libc-2.23.so       [.] 0x000000000006e680              
                                                                       ▒
   1.37%  tmux           tmux               [.] 0x0000000000028684              
                                                                       ▒
   1.37%  tmux           libc-2.23.so       [.] strcmp                          
                                                                       ▒
   1.35%  swapper        [kernel.kallsyms]  [k] tick_nohz_idle_enter            
                                                                       ▒
   1.23%  tmux           tmux               [.] 0x00000000000355dc              
                                                                       ▒
   1.05%  sh             [kernel.kallsyms]  [k] handle_mm_fault                 
                                                                       ▒
   1.01%  tmux           [kernel.kallsyms]  [k] filemap_map_pages               
                                                                       ▒
   1.01%  swapper        [kernel.kallsyms]  [k] _raw_spin_unlock_irqrestore     
                                                                       ▒
   0.96%  tmux           libc-2.23.so       [.] free                            
                                                                       

but when i try to inspect a kernel function:

Annotate filemap_map_pages                                                      
                                                                       ◆
Zoom into sh(5304) thread                                                       
                                                                       ▒
Zoom into [kernel.kallsyms] DSO                                                 
                                                                       
▒Annotate filemap_map_pages                                                     
                                                                        ◆
Zoom into sh(5304) thread                                                       
                                                                       ▒
Zoom into [kernel.kallsyms] DSO                                                 
                                                                       ▒
Browse map details                                                              
                                                                       ▒
Zoom into Processor Socket 0                                                    
                                                                       ▒
Run scripts for samples of thread [sh]                                          
                                                                       ▒
Run scripts for samples of symbol [filemap_map_pages]                           
                                                                       ▒
Run scripts for all samples                                                     
                                                                       ▒
Switch to another data file in PWD                                              
                                                                       ▒
Exit
Browse map details                                                              
                                                                       ▒
Zoom into Processor Socket 0                                                    
                                                                       ▒
Run scripts for samples of thread [sh]                                          
                                                                       ▒
Run scripts for samples of symbol [filemap_map_pages]                           
                                                                       ▒
Run scripts for all samples                                                     
                                                                       ▒
Switch to another data file in PWD                                              
                                                                       ▒
Exit

i then select the Annotate option, and i get an empty screen - while on
x86, i correctly see the assembly of the queried function.

Same happens on Bionic/arm64.

** Changed in: linux (Ubuntu)
       Status: Expired => Confirmed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1675949

Title:
  perf report can't annotate kernel and dbgsym package has wrong
  addresses

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  Running zesty 4.10.0-13-generic kernel and running:
  $ perf record 

  followed by

  $ perf report

  results in output that can't be annotated (even when run as root). The 
following message appears:
  Couldn't annotate do_io_submit:
  No vmlinux file with build id 81ba79d482fa9e3ea58486de8f119b27fe6db55e
  was found in the path.

  Note that annotation using /proc/kcore requires CAP_SYS_RAWIO
  capability.

  Please use:

  perf buildid-cache -vu vmlinux

  Note this is being run as root and /proc/kcore is accessible with dd from the 
same shell:
  $ dd if=/proc/kcore bs=8 count=16 | hexdump
  0000000 457f 464c 0102 0001 0000 0000 0000 0000
  0000010 0004 00b7 0001 0000 0000 0000 0000 0000
  0000020 0040 0000 0000 0000 0000 0000 0000 0000
  0000030 0000 0000 0040 0038 0003 0000 0000 0000
  0000040 0004 0000 0000 0000 00e8 0000 0000 0000

  Additionally, installing the linux-image-4.10.0-13-generic-dbgsym
  actually hurts the situation because the symbol addresses in the
  dbgsym don't match the kernel addresses.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1675949/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to