関数説明

以下に上記ソフト割り込みハンドラ操作関数について説明する。

  • open_softirq()
    • 指定されたソフト割り込みレベルに、指定されたハンドラを登録する。 (登録先は softirq_action[]テーブル)
  • cpu_raise_softirq()
    • 指定したレベルのソフト割り込みを発生させる。
  • do_softirq()
    • 登録されているソフト割り込みハンドラを実行する。
    • システムコール出口、割り込みハンドラ出口、例外ハンドラ出口、 プロセス切替え時に、ソフト割り込み要求があると呼び出される。
  • softirq_active()
    • ソフト割り込みハンドラ起動要求があるか否かをチェックする。
  • tasklet_schedule()、tasklet_hi_schedule()
    • それぞれTASKLET_SOFTIRQレベル、HI_SOFTIRQにハンドラ登録。 ハンドラを登録する場合、各々tasklet_struct構造体を登録側で用意し、 ハンドラの情報を設定する。
    • tasklet_struct構造体はtasklet_vec[]テーブル、tasklet_hi_vec[] テーブルにキューイングされる。
  • tasklet_action()、tasklet_hi_action()
    • TASKLET_SOFTIRQレベル、HI_SOFTREQレベルに登録された ハンドラ群を実行する。
    • tasklet_vec[]テーブル、tasklet_hi_vecテーブルにキューイングされる tasklet_struct構造体に登録されたハンドラを呼び出す。

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1