Perf not resolving all symbols, showing 0x7ffffxxx

Martin Hicks mort at bork.org
Fri Oct 4 00:21:11 EST 2013


Hi,

I've been trying to track down a performance regression that started
leading up to the v3.6 kernel, and while doing this I've been
gathering perf data on v3.6-rc and comparing it to v3.11 perf reports
of the same workload.

With v3.6-rc kernels I get all symbols resolved like this:

# Events: 39K cpu-clock-msecs
#
# Overhead      Command           Shared Object
            Symbol
# ........  ...........  ......................
........................................
#
     9.69%         nfsd  [kernel.kallsyms]       [k] csum_partial
     5.64%         nfsd  [kernel.kallsyms]       [k] __do_softirq
     3.12%         nfsd  [sunrpc]                [k] svc_create
     2.38%         nfsd  [kernel.kallsyms]       [k] __queue_work
     1.91%         nfsd  [gianfar_driver]        [k] gfar_poll
     1.73%         nfsd  [kernel.kallsyms]       [k] memset
     1.54%         nfsd  [nfsd]                  [k] nfsd_vfs_read.isra.16
     1.40%  ksoftirqd/0  [kernel.kallsyms]       [k] finish_task_switch.isra.54
     1.30%         nfsd  [kernel.kallsyms]       [k] get_page_from_freelist
     1.21%         nfsd  [gianfar_driver]        [k] gfar_start_xmit
     1.20%         nfsd  [sunrpc]                [k] svc_xprt_received


But when I perf on v3.11 kernels I see a lot of unresolved symbols:

# Events: 69K cpu-clock-msecs
#
# Overhead       Command          Shared Object
       Symbol
# ........  ............  .....................
...................................
#
    73.80%          nfsd  [unknown]              [k] 0x7ffff7fa
     7.57%          nfsd  [kernel.kallsyms]      [k] csum_partial
     4.59%   kworker/0:1  [unknown]              [k] 0x7ffff832
     3.76%   ksoftirqd/0  [unknown]              [k] 0x7ffff96e
     0.94%       kswapd0  [unknown]              [k] 0x7ffffcc2
     0.92%       swapper  [unknown]              [k] 0x7ffffa54
     0.62%          nfsd  [kernel.kallsyms]      [k] __udp4_lib_lookup
     0.49%          nfsd  [kernel.kallsyms]      [k] ip_append_page
     0.48%          nfsd  [kernel.kallsyms]      [k] __do_softirq
     0.36%      eventmon  [unknown]              [k] 0x7ffff9c4
     0.32%          nfsd  [kernel.kallsyms]      [k] __getnstimeofday


Any ideas?  Have I overlooked some necessary kernel config change?
Does perf need some binary that I may not have installed on this
embedded platform?

Freescale mpc8379 (e300c4)
Gcc-4.7.2 uClibC built with ct-ng 1.18.0
binutils 2.22

Thanks,
mh

-- 
Martin Hicks P.Eng.      |         mort at bork.org
Bork Consulting Inc.     |   +1 (613) 266-2296


More information about the Linuxppc-dev mailing list