discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] oprofile callgraph question


From: Mikyung Han
Subject: [Discuss-gnuradio] oprofile callgraph question
Date: Fri, 20 Jun 2008 16:32:35 -0400

Hi all,

I am profiling gnuradio-3.1.1/gr-atsc/src/python/ example.
I've already collected seinfeld.dat (the captured data from fox TV).

opcontrol --setup --vmlinux=my_path_to_vmlinux/vmlinux
opcontrol --start
opcontrol --reset

# run atsc example ( *.py files)
xterm -e ./interp.py seinfeld.dat &
xterm -e ./xlate.py
xterm -e ./btl-fsd.py
xterm -e ./viterbi-out.py seinfeld.mpg

opcontrol --save=my_session_name
opcontrol --dump
opcontrol --stop
opreport -l session:my_session_name

So I do get the seinfeld.mpg correctly.
And I can actually play with xine.
Also I do get the profiled result.

Here are top 10 application and symbols that consumed resources.

atsci_equalizer_lms  26.466%
.loop from  libgnuradio-core.so.0.0.0 12.52%
atsci_single_viterbi 10.5%
.cleanup from libgnuradio-core.so.0.0.0 6.7%
__ieee754_atan2 from libm-2.5.so 5.53 %
.loop2 from libgnuradio-core.so.0.0.0 5.5%
memcpy from libc-2.5 so 3.03%
gr_freq_xlating_fir_filter_ccf 2.68%
atsc_fpll 1.8%


---------------------
After this point, I wanted to find out who called .loop and .cleanup and .loop2, etc.
So I tried callgraph function for oprofile.

I recomplied gnuradio code with
./configure --with-gprof (since this sets -pg option)

And then did
opcontrol --setup --vmlinux=my_path_to_vmlinux/vmlinux
opcontrol --start
opcontrol --reset
opcontrol --callgraph=5

# run atsc example ( *.py files)
xterm -e ./interp.py seinfeld.dat &
xterm -e ./xlate.py
xterm -e ./btl-fsd.py
xterm -e ./viterbi-out.py seinfeld2.mpg

opcontrol --save=my_session_name
opcontrol --dump
opcontrol --stop
opreport -cl --demangle=smart session:my_session_name

I do get seinfeld2.mpg correctly.
But opreport does not give me any depth.
It just says every symbol calls [self]

Do you have any idea what I should do?
The machine I tried is 64bit server with 4 cores.
for which uname -a gives
Linux 2.6.18-53.1.19.el5 #1 SMP Tue Apr 22 03:01:10 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

Any suggestion will be greatly appreciated.

Thanks!

Mikie

reply via email to

[Prev in Thread] Current Thread [Next in Thread]