Siburlog

SiblogだとSI BlogっぽいのでSiburlogとする

LKDTMについてメモ

色んな発生条件で、色んな種類の障害を、インジェクション出来るモジュール。

使用方法から考えて、モジュールとしてビルドするのがいいだろうな。

 

例。

# modprobe lkdtm cpoint_name=FS_DEVRW cpoint_type=EXCEPTION cpoint_count=20

 FS_DEVRWはファイルシステムからブロックデバイスへのI/O処理を表す。

この例だと、I/O処理が20回起こると障害が発生する。

EXCEPTIONはNULLへの書き込みとのこと。

 

cpoint_name=DIRECTを使えば、lkdtmをロードした段階ですぐに障害が発生する。

他にも発生条件は色々選べる。

 

障害の種類が色々選べるのも便利だと思う。

例えば、cpoint_type=HARDLOCKUPなんかは、NMIウォッチドッグを試すのに使えると思われ。

 

modprobe時の引数で設定する方法の他に、/sys/kernel/debug/provoke-crashを使う方法もあるようだが、cpoint_{name,type}は指定できるものの、cpoint_countを指定するインターフェースが無い・・・?