Re: Fix AArch64 "$x" symbols
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 07/31/2014 10:13 AM, Andrew Haley wrote: > On 07/31/2014 03:03 PM, William Cohen wrote: > >> Have you tried running the same experiment on x86-64 and compared >> the resulting output? I suspect that the "$x" map to some methods >> but for some reason oprofile is not getting the right location/name >> and ends up with "$x". It would be good to compare the output to >> get some clue what "$x" might be. You might also use "opreport >> --detail --symbols" to see where the samples are actually recorded >> and see where those $x functions are being located. The "--detail" >> will provide a huge amount of output. > > Sure, x86-64 is fine: it doesn't have mapping symbols. I can see all > the "$x" symbols in the symtab on AArch64. > > Andrew. > Hi Andrew, The "--details" output was to see if there was a pattern to attribution to "$x". Using the "Detailed examination of Java task processor usage" from https://access.redhat.com/articles/911073 I am able to reproduce the issue: $ operf java -agentlib:jvmti_oprofile -jar dacapo-9.12-bach.jar sunflow $ opreport --symbols |grep "\$x" Using /discer.farm/home/wcohen/dacampo/oprofile_data/samples/ for samples directory. WARNING: Lost samples detected! See /discer.farm/home/wcohen/dacampo/oprofile_data/samples/operf.log for details. warning: /no-vmlinux could not be found. warning: [vdso] (tgid:6974 range:0x3ff96b10000-0x3ff96b2ffff) could not be found. 469 0.0591 libc-2.17.so $x 331 0.0417 libz.so.1.2.7 $x 88 0.0111 libc-2.17.so $x 56 0.0071 libz.so.1.2.7 $x 27 0.0034 ld-2.17.so $x 21 0.0026 libc-2.17.so $x 14 0.0018 libpthread-2.17.so $x 13 0.0016 libpthread-2.17.so $x 10 0.0013 libc-2.17.so $x 10 0.0013 libpthread-2.17.so $x 9 0.0011 libc-2.17.so $x 9 0.0011 libopagent.so.1.0.1 $x 5 6.3e-04 ld-2.17.so $x 4 5.0e-04 ld-2.17.so $x 4 5.0e-04 ld-2.17.so $x 4 5.0e-04 libc-2.17.so $x 4 5.0e-04 libjvmti_oprofile.so.0.0.0 $x 3 3.8e-04 ld-2.17.so $x 3 3.8e-04 libz.so.1.2.7 $x 2 2.5e-04 ld-2.17.so $x 2 2.5e-04 ld-2.17.so $x 2 2.5e-04 libc-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 ld-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libc-2.17.so $x 1 1.3e-04 libdl-2.17.so $x 1 1.3e-04 libdl-2.17.so $x 1 1.3e-04 libjvmti_oprofile.so.0.0.0 $x $ opreport --symbols --details|more /$x ...skipping 00000000000851e8 469 0.0591 libc-2.17.so $x 00000000000851e8 14 2.9851 00000000000851f8 14 2.9851 0000000000085200 13 2.7719 0000000000085214 8 1.7058 0000000000085218 1 0.2132 0000000000085220 3 0.6397 0000000000085224 38 8.1023 0000000000085228 5 1.0661 000000000008522c 2 0.4264 0000000000085230 1 0.2132 0000000000085234 50 10.6610 0000000000085238 5 1.0661 0000000000085240 9 1.9190 0000000000085244 41 8.7420 0000000000085250 60 12.7932 0000000000085254 1 0.2132 0000000000085258 1 0.2132 0000000000085260 40 8.5288 0000000000085268 21 4.4776 0000000000085274 4 0.8529 0000000000085278 2 0.4264 0000000000085280 7 1.4925 0000000000085290 24 5.1173 000000000008529c 2 0.4264 00000000000852a0 7 1.4925 00000000000852b0 13 2.7719 00000000000852bc 1 0.2132 00000000000852c0 1 0.2132 00000000000852d0 71 15.1386 00000000000852d8 3 0.6397 00000000000852ec 6 1.2793 00000000000852fc 1 0.2132 looking through the "objdump -d /usr/lib64/libc-2.17.so" looks like it matches up with _wordcopy_fwd_aligned: 00000000000851e8 <_wordcopy_fwd_aligned>: 851e8: 92400843 and x3, x2, #0x7 851ec: d1000463 sub x3, x3, #0x1 851f0: f100187f cmp x3, #0x6 ... Took a look at some other $x examples: 0000000000006b18 331 0.0417 libz.so.1.2.7 $x interior of some function 0000000000036a64 88 0.0111 libc-2.17.so $x maps to 0000000000036a64 <msort_with_tmp.part.0>: 00000000000095a4 56 0.0071 libz.so.1.2.7 $x interior of some function 0000000000016150 27 0.0034 ld-2.17.so $x maps to strcmp So it looks like the samples are being mapped to some functions, but the function names are not being recorded correctly in some cases. -Will ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk