2008年11月4日火曜日

PAPIのインストール

PAPI:Performance Application Programming Interface
ハードウェアカウンタを見ることができるAPIです.

まずはここから最新版をダウンロード.

INSTALLガイドを見ると,カーネルにパッチをあてる必要があるようで.
(Linux/x86)

●kernel●
まずは,カーネルをダウンロード.
パッチのバージョンと合うように,今回は2.6.25をダウンロード.
/usr/src/kernels内に展開.
そのディレクトリに移動.
shell> cp ../linux-2.6.23/.config .
-今まで使っていた.configファイルをディレクトリ内にコピー
shell> make mrproper
 -お掃除
shell> papi-3.6.2/src/perfctr-2.6.x/update-kernel
-perfctr(Performance Monitoring Counters Driver)をカーネル内に入れるためのパッチあて
shell> make oldconfig
-さっきコピーしたconfigファイルを引き継ぐ
shell> make menuconfig
-更にinstallガイドの沿って設定を行う("PERCESSOR TYPE AND FEATURES"内のPerformance MoniteringをMにして,中のものに全てチェックをつけるetc)
shell> make bzImage
 -bzImageというカーネルイメージを作成
shell> make modules
-モジュール作成
shell> make modules_install
-/lib/modules/下にモジュールがインストールされる.
shell> make install
-/boot/以下にカーネルイメージなどが作成される.

ブートローダの設定
/etc/grub.confのdefaultの値を1から0に書き換えることで,デフォルトで起動するカーネルイメージを変更できる.
(/etc/grub.confに新しく入れたカーネルのバージョンが書き足されているため,default値は,0から1に変わっているので)

で,reboot!!
2.6.25で起動します.

●Dynamic /dev (udev)●
Linuxのいろんなバージョンに適合させるための作業
papi-3.6.2/src/perfctr-2.6.x/下で行います
shell> cp etc/perfctr.rules /etc/udev/rules.d/99-perfctr.rules
-perfctrがカーネルにロードされたときに,udevが,全ユーザのアクセスできる/dev/perfctrを作成するためのルールを追加
shell> cp etc/perfctr.rc /etc/rc.d/init.d/perfctr
 -カーネルがperfctrモジュールを自動で呼ぶことを可能とするためのスクリプトを追加
shell> chmod 755 /etc/rc.d/init.d/perfctr
shell> /sbin/chkconfig --add perfctr
 -perfctrという新しいシステムサービスを追加(詳細は@IT)

rebootする.

shell> papi-3.6.2/src/perfctr-2.6.x/examples/perfex/perfex -i
とすると,
なんだかOKそうな値がちゃんと出ました!!
PerfCtr Info:
abi_version 0x05020501
driver_version 2.6.35 DEBUG
cpu_type 18 (Intel Core 2)
cpu_features 0x7 (rdpmc,rdtsc,pcint)
cpu_khz 2394142
tsc_to_cpu_mult 1
cpu_nrctrs 5
cpus [0,1,2,3], total: 4
cpus_forbidden [], total: 0

基礎作り終了.

●PAPIインストール●
papi-3.6.2/src/下で行う
shell> ./configure
shell> make
shell> make test
-テストを1つ行う.良い結果が出たら次へ.
shell> make fulltest

PAPIインストール終了ー!
次は,doc/下のUSER'S GUIDE見たりして使い方のお勉強です.

0 件のコメント: