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