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 ?? 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