Hi On 19 May 2014 16:08, Prankul Garg <prankul.ii...@gmail.com> wrote: > Jean Pihet <jean.pihet@...> writes: > >> >> Hello, >> >> Indeed there is a problem in the ARM code for tracepoints. >> After a good discussion with the perf maintainers a solution has be >> found, cf. http://www.spinics.net/lists/arm-kernel/msg332293.html. >> >> Can you check if this fixes the problem? It does on my side on 3.15-rc4. > > Hi Jean, > > yes, it solved the problem but partially, i am getting different outputs for > x86 and ARM. > > On x86(3.10.28): > > ./perf record -e kmem:kmalloc cal > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.009 MB perf.data (~381 samples) ] > > ./perf report > # Overhead Command Shared Object Symbol > # ........ ....... ................. .......................... > # > 96.77% cal [kernel.kallsyms] [k] kmem_cache_alloc_trace > 3.23% cal [kernel.kallsyms] [k] __kmalloc > > ./perf report -v > 96.77% cal /lib/modules/3.10.28+/build/vmlinux 0xffffffff81166f6d > v [k] kmem_cache_alloc_trace > 3.23% cal /lib/modules/3.10.28+/build/vmlinux 0xffffffff81166b24 > v [k] __kmalloc > > ./perf buildid-list > aef9a24fcddff67cd67bcc1fd27dbeaf86d35487 [kernel.kallsyms] > > > but on ARM(3.4.0): > > ./perf record -e kmem:kmalloc cal > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.004 MB perf.data (~192 samples) ] > > ./perf report > # Overhead Command Shared Object Symbol > # ........ ....... ................. .......................... > # > 100.00% cal [ks8851] [k] 0x01247890 > > ./perf report -v > 100.00% cal /lib/modules/3.4.0/.../ks8851.ko 0x1247890 l [k] > 0x01247890 > > ./perf buildid-list > d0898c01486575dddafc6686240186bdb4b4430a /lib/modules/3.4.0/.../ks8851.ko > > > that means on ARM, it is not getting the buildid for [kernel.kallsyms]. > > Are you getting the same output for ARM and x86 ?? Yes. Here is the output I have:
root@axp-linaro:/home/linaro/linaro/kernel# ./linux/tools/perf/perf report -v build id event received for vmlinux: 6db809b8adab308f64037970799dc836f6b96422 Looking at the vmlinux_path (6 entries long) Using /proc/kallsyms for symbols # To display the perf.data header info, please use --header/--header-only option # # Samples: 12 of event 'kmem:kmalloc' # Event count (approx.): 12 # # Overhead Command Shared Object Sy # ........ ............ ................. ................................... # 91.67% stress_bt_v7 [kernel.kallsyms] 0xc00f1548 k [k] kmem_cache_alloc_t 8.33% stress_bt_v7 [kernel.kallsyms] 0xc00f1400 k [k] __kmalloc # # (For a higher level overview, try: perf report --sort comm,dso) # root@axp-linaro:/home/linaro/linaro/kernel/linux# ./tools/perf/perf buildid-list 6db809b8adab308f64037970799dc836f6b96422 vmlinux root@axp-linaro:/home/linaro/linaro/kernel/linux# perf is looking for symbols in vmlinux (if present in the current dir or specified in the command line) and if not found from kallsyms. So if I run 'perf report' from the kernel root dir, the symbols are from vmlinux; if I run it from elsewhere the symbols are from kallsyms. Also your build is quite old, a lot of changes went into perf since 3.4. Regards, Jean > > regards, > Prankul Garg > >> >> The patch is under review by the ARM experts and hopefully should be >> merged soon. >> >> Regards, >> Jean >> >> On 16 May 2014 09:34, Jean Pihet <jean.pihet@...> wrote: >> > Hello, >> > >> > >> > On 15 May 2014 07:36, sneha priya <sneha.cse@...> wrote: >> >> Hello, >> >> >> >> There is an issue related to perf which I am facing since 15 days. > Hoping >> >> that the great minds here will help me to solve this. >> >> >> >> I have a requirement to make perf tool work on a device having ARM >> >> architecture. But, on recording the tracepoint events and then running >> >> ./perf report, it shows the shared objects name as [unknown] and > Symbols as >> >> 00000, whereas for software and hardware events I do not experience > this >> >> issue. >> >> I have cross compiled the perf tool available on mailine and ported it > on a >> >> device having ARM architecture. >> >> >> >> Output on ARM based device with kernel 3.4. >> >> >> >> ./perf record -e kmem:kmalloc cal >> >> >> >> [ perf record: Woken up 1 times to write data ] >> >> [ perf record: Captured and wrote 0.007 MB perf.data (~321 samples) ] >> >> >> >> ./perf report >> >> >> >> Overhead Command Shared Object >> >> Symbol >> >> ........................... ................................ >> >> ........................................... >> >> 40.78% cal [unknown] >> >> [.]00000000 >> >> 31.6% cal [unknown] >> >> [.]00000000 >> >> >> >> [...] >> >> >> >> On ubuntu 12.04, system (kernel 3.10) it works perfectly fine. >> >> >> >> Output on x86 architecture >> >> >> >> ./perf record -e kmem:kmalloc gcalctool >> >> >> >> [ perf record: Woken up 3 times to write data ] >> >> [ perf record: Captured and wrote 0.27 MB perf.data (~845 samples) ] >> >> >> >> ./perf report --stdio >> >> >> >> Overhead Command > Shared >> >> Object Symbol >> >> ........................... ................................ >> >> ........................................... >> >> 96.55% cal >> >> [kernel.kallsyms] [k] kmem_cache_alloc_trace >> >> 3.45% cal >> >> [kernel.kallsyms] [.]__kmalloc >> >> >> >> [...] >> >> >> >> >> >> Keenly, awaiting for you help. >> > >> > There are a few things to check. Note that the 3.4 kernel is OK wrt >> > perf and tracepoints but is quite old, the recent development now >> > happens on 3.15. >> > >> > - Do you have kallsyms enabled in your kernel (CONFIG_KALLSYMS=y)? >> > - Are there warnings issued by perf record, e.g. access to kernel > symbols etc? >> > - perf report needs to know about your vmlinux image (the one that >> > contains the debug symbols etc in the root directory of the kernel >> > build). You can use '-k <file>' or '--vmlinux=<file>', cf. perf report >> > --help. >> > - You can dump the samples from perf.data using perf report -D. The >> > entries with 'PERF_RECORD_SAMPLE(IP, 2)' are for the user space apps. >> > - The '-v' option gives more info. This can be used multiple times ('- > vv'). >> > >> >> >> >> Thanks. >> >> >> >> Sneha. >> > >> > Regards, >> > Jean >> > >> >> >> >> _______________________________________________ >> >> linaro-dev mailing list >> >> linaro-dev@... >> >> http://lists.linaro.org/mailman/listinfo/linaro-dev >> >> >> > > > > > > _______________________________________________ > linaro-dev mailing list > linaro-dev@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-dev _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev