From: Mikyung H. <ha...@gm...> - 2008-06-23 14:13:39
|
I am profiling gnuradio's atsc application, which is converting raw atsc signal into mpg file. (For those who know gnuradio, I used gnuradio-3.1.1/gr-atsc/src/python/ example) I complied gnuradio code with ./configure --with-gprof (since this sets -pg option) And then did # setup oprofile 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 seinfeld.mpg # get oprofile result opcontrol --save=my_session_name opcontrol --dump opcontrol --stop opreport -cl --demangle=smart session:my_session_name I do get seinfeld.mpg correctly. And from opreport I got the 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% What I want to do is to find out who called .loop and .loop2 and .cleanup. 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! |
From: Mikyung H. <ha...@gm...> - 2008-06-23 15:36:52
|
Hi all, I am profiling gnuradio's atsc application, which is converting raw atsc signal into mpg file. (For those who know gnuradio, I used gnuradio-3.1.1/gr-atsc/src/python/ example) I complied gnuradio code with ./configure --with-gprof (since this sets -pg option) And then did # setup oprofile 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 seinfeld.mpg # get oprofile result opcontrol --save=my_session_name opcontrol --dump opcontrol --stop opreport -cl --demangle=smart session:my_session_name I do get seinfeld.mpg correctly. And from opreport I got the 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% What I want to do is to find out who called .loop and .loop2 and .cleanup. 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! Mi Kyung Han |