08:26:59 # Life debuildをoprofileしてみる. RedHatMagazineの記事を参考に,debianでもやってみる. とりあえずなんとなく結果が出て来る,が,デバッグ情報がほとんどないため, 細かい情報を取得しようとすると困難を究める. カーネルのvmlinuxを取得するのは,make-kpkgを実施したディレクトリで make vmlinuxとするとどうやら取得できるようだ. csum_partial_copy_generic という関数がえらく時間を占めているようだ. arch/x86_64/lib/csum-copy.Sか. -cオプションを指定して,call graphを取得しようとしても,取得できず.残念.
CONFIG_DEBUGとかCONFIG_FRAME_POINTERをenableにしないとバックトレースは とれないような雰囲気だ. oprofileがDWARF2とかの情報を利用できたらなんとかなりそうなものだが, なんとかならないものだろうか.
CPU: AMD64 processors, speed 2193.7 MHz (estimated) Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 860000 CPU_CLK_UNHALT...| samples| %| ------------------ 11587 35.6940 /home/dancer/shared/git/linux-2.6/vmlinux 3971 12.2328 /usr/bin/perl CPU_CLK_UNHALT...| samples| %| ------------------ 2981 75.0693 /usr/lib/libperl.so.5.8.7 649 16.3435 /lib/libc-2.3.5.so 292 7.3533 /lib/ld-2.3.5.so 43 1.0829 /lib/libpthread-2.3.5.so 2 0.0504 /lib/libdl-2.3.5.so 1 0.0252 /usr/bin/perl 1 0.0252 /lib/libm-2.3.5.so 1 0.0252 /lib/libnss_compat-2.3.5.so 1 0.0252 /usr/lib/perl/5.8.7/auto/POSIX/POSIX.so 3926 12.0941 /usr/lib/gcc/x86_64-linux-gnu/4.0.2/cc1 CPU_CLK_UNHALT...| samples| %| (中略) $ opreport -t 1 -l ~/shared/git/linux-2.6/vmlinux CPU: AMD64 processors, speed 2193.7 MHz (estimated) Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 860000 samples % symbol name 2575 22.2232 csum_partial_copy_generic 833 7.1891 __down_interruptible 410 3.5384 timer_interrupt 309 2.6668 do_wp_page 274 2.3647 free_pages_bulk 244 2.1058 get_user_pages 242 2.0885 vsnprintf 234 2.0195 __handle_mm_fault 198 1.7088 vma_adjust 196 1.6916 shrink_zone 182 1.5707 do_mlock 170 1.4672 generic_file_aio_write_nolock 162 1.3981 ioread16_rep 157 1.3550 mlock_fixup 153 1.3204 sort 151 1.3032 sys_mincore 148 1.2773 error_exit 140 1.2083 invalidate_inodes
$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $