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

Reply via email to