2005年11月7日 (月曜日)

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
	
Junichi Uekawa

$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $