Re: opcontrol does not create results

William Cohen <[email protected]>
Newsgroups gmane.linux.oprofile
Message-ID <[email protected]>
On 03/26/2015 12:01 PM, Lentes, Bernd wrote:
> Michael wrote:
> 
>>
>> Hi Bernd,
>>
>> it's possible to dive deeply. You need to have debuginfo for all the things
>> you want to dive in, so in this case for kernel. When you have
>> debuginfos, you may run:
>>
>> opreport -wl
>> --> that should give you information of samples per process/function
>>
>> opreport -d
>> --> that should go per address/instruction
>>
>> opreport -gl
>> --> if you have proper debuginfo, you can see line numbers etc.
>>
>> You may be also interested in generating a callgraph, but for that you
>> need to run your measurement with "-c" and then you may run
>> "opreport -c". But it's pretty possible, that your kernel doesn't support
>> that or it doesn't have it enabled.
>>
>> Another interesting thing is the opannotate tool, which reads the
>> sources and creates a copy of your source tree, where the source files
>> are annotated by samples per line. That's awesome for user space
>> profiling, but in case of kernel it would be probably an overkill...
>>
>> Note: If you install some additional debuginfos, you would probably
>> need to re-run all the measurements to get the results!
>>
>> Last thing is that I'd recommend you to run the measurement for longer
>> time.
>> Your example report doesn't contain that many samples, you may need
>> more for the investigation.
>>
>> Regards,
>> Michael
>>
>>
> 
> Hi Michael,
> 
> i managed to install the debuginfo package:
> 
> idcc-devel:~ # rpm -qa|grep -i kernel
> kernel-smp-2.6.16.60-0.103.1
> kernel-debug-2.6.16.60-0.103.1
> kernel-syms-2.6.16.60-0.103.1
> kernel-smp-debuginfo-2.6.16.60-0.103.1
> kernel-source-2.6.16.60-0.103.1
> 
> Is this the right one ?
> 
> 
> I'm running the kernel-smp:
> 
> idcc-devel:~ # uname -r
> 2.6.16.60-0.103.1-smp
> 
> 
> But the output is not using the debuginfo, i assume:
> 
> idcc-devel:~ # opreport -d
> 
> warning: /ide_cd could not be found.
> warning: /ide_core could not be found.
> warning: /ip_conntrack could not be found.
> warning: /ip_tables could not be found.
> warning: /iptable_mangle could not be found.
> warning: /virtio_net could not be found.
> warning: /virtio_ring could not be found.
> CPU: CPU with timer interrupt, speed 0 MHz (estimated)
> Profiling through timer interrupt
> warning: /boot/vmlinux-2.6.16.60-0.103.1-smp.gz is not in a usable binary format.
> vma      samples  %        image name               app name                 symbol name
> 00000000 3732     93.3934  vmlinux-2.6.16.60-0.103.1-smp.gz vmlinux-2.6.16.60-0.103.1-smp.gz (no symbols)
>   00009d7d 3179     85.1822
>   00034a4f 1         0.0268
>   0003a885 539      14.4427
>   0004724b 2         0.0536
>   0004bbf2 2         0.0536
>   0005f62d 4         0.1072
>   00062d22 1         0.0268
>   00083777 1         0.0268
>   00163072 1         0.0268
>   001c0f9e 1         0.0268
>   001e053a 1         0.0268
> 00000000 82        2.0521  vmlinux-2.6.16.60-0.103.1-smp.gz sshd                     (no symbols)
>   0003a885 79       96.3415
>   0014e614 1         1.2195
>   00195b03 1         1.2195
>   001d43bd 1         1.2195
> 00000000 38        0.9510  vmlinux-2.6.16.60-0.103.1-smp.gz atop                     (no symbols)
>   0000a5e5 1         2.6316
>   0000ae1a 1         2.6316
> ...
> 
> or
> 
> idcc-devel:~ # opreport -gl
> 
> warning: /ide_cd could not be found.
> warning: /ide_core could not be found.
> warning: /ip_conntrack could not be found.
> warning: /ip_tables could not be found.
> warning: /iptable_mangle could not be found.
> warning: /virtio_net could not be found.
> warning: /virtio_ring could not be found.
> CPU: CPU with timer interrupt, speed 0 MHz (estimated)
> Profiling through timer interrupt
> warning: /boot/vmlinux-2.6.16.60-0.103.1-smp.gz is not in a usable binary format.
> samples  %        linenr info                 image name               app name                 symbol name
> 3732     93.3934  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz vmlinux-2.6.16.60-0.103.1-smp.gz (no symbols)
> 82        2.0521  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz sshd                     (no symbols)
> 38        0.9510  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz atop                     (no symbols)
> 33        0.8258  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz top                      (no symbols)
> 24        0.6006  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz bash                     (no symbols)
> 11        0.2753  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz ls                       (no symbols)
> 7         0.1752  (no location information)   libz.so.1.2.3            atop                     (no symbols)
> 7         0.1752  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz hald-addon-storage       (no symbols)
> 6         0.1502  (no location information)   ide_core                 hald-addon-storage       (no symbols)
> 5         0.1251  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz cat                      (no symbols)
> 3         0.0751  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz gawk                     (no symbols)
> 3         0.0751  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz mysqld                   (no symbols)
> 3         0.0751  (no location information)   vmlinux-2.6.16.60-0.103.1-smp.gz nscd                     (no symbols)
> 
> 
> The "no symbols" is a hint that the debuginfo is not used ?
> 
> What can I do ?
> 
> 
> Bernd

Hi Bernd,

I don't use SUSE, so I haven't tried things out, but I think you will need to do something like the steps listed on the following URL to copy the vmlinux.gz and uncompress it:

https://doc.opensuse.org/documentation/html/openSUSE_121/opensuse-tuning/cha.tuning.oprofile.html

Then point use "--vmlinux=..." to point opcontrol at the uncompressed file.

-Will

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.