Linux本3章

ソフト割り込みと、それ
を汎用化したtaskletとい
う仕組みがある
応答性を必要とするハー
ドウェア制御処理は割り
込みハンドラで、それ以
外はソフト割り込みハン
ドラまたはtasklet
比較的重い処理を実行
ハードウェア割り込み処
理が要因となって発生
6種類のソフト割り込み種
別
ソフト割り込み
プロセスコンテキストの
処理を遅延させるために
利用
即時実行と、一定時間後
実行(タイマーリスト)
の二種類
指定した処理を複数登録
しておき、後から実行の
指示
ソフト割り込みも禁止可
能
タイマー、ネットワーク
送信完了、ネットワーク
受信、SCSI、tasklet(HI,
softirq)
ハードウェア割り込みを
禁止することで、同時に
ソフト割り込みも禁止で
きる
ソフト割り込み禁止のフ
ラグ
workqueue
Linux本3章 - 遅延処理
ハードウェア割り込みハ
ンドラの終了時にソフト
割り込みハンドラを実行
割り込み処理の遅延
目的毎に専用のworkqueue。それぞれのCPU用のエ
ントリももつ
ハードウェア割り込みハ
ンドラがネストしている
場合は全てが終わった後
ソフト割り込みハンドラ
実行中に高頻度で発生し
たソフト割り込み要求に
は専用のカーネルスレッ
ドを割り当てる
実行タイミングの細かい制御が必要ない場合は、汎用
のworkqueueも利用出来る
任意の関数をソフト割り
込みハンドラとして登録
し、実行出来るようにし
たもの
tasklet用のソフト割り込
み種別には複数の関数が
登録可能
tasklet
tasklet用のソフト割り込
み種別は2つ
TASKLET_SOFTIRQ:
他の種別の割り込みハン
ドラが全て終わった後に
実行
HI_SOFTIRQ:他のソフ
ト割り込みに先駆けて実
行
taskletのソフト割り込み
の禁止を要求すると、全
てのtaskletの実行を禁止
できる
指定したtaskletのみを禁
止する仕組みも存在