その他の関数

ソースコードを読む上で訳に立つ関数の説明を行う。

  • local_irq_disble()
    • ローカルCPUへの割り込みを禁止する。cli()と等価。
  • local_irq_enable()
    • ローカルCPUへの割り込みを禁止を解除する。sti()と同様の動作をする。
  • local_bh_disable()
    • ローカルCPU上でのソフト割り込みハンドラ実行を禁止する。
  • local_bh_enable()
    • ローカルCPU上でのソフト割り込みハンドラ実行を禁止を解除する。
  • global_cli() ...マルチプロセッサシステムではcli()はこの関数に マッピングされている。
    • ローカルCPUの割り込み禁止
    • get_irqlock関数にて、以下のものの全てハンドラの待ち合わせを 行う。システム上の全ての割り込みハンドラ終了、ローカルCPU上の ソフト割り込みハンドラ終了、システム上の全ての旧方BHハンドラ終了。
  • irq_enter()
    • local_irq_countをカウントアップする。
    • グローバルな全割り込み禁止の解除をビジーウェイトして待つ。
  • irq_exit()
    • local_irq_countをカウントダウンする。
  • hardirq_trylock()
    • ローカルCPU上で割り込みハンドラ動いておらず、 かつグローバルに割り込み禁止されていないことをチェック。 実際に何かをロックするわけではない(名前は過去のコードの名残)。
  • in_interrupt()
    • ローカルCPU上で、割り込みハンドラかソフト割り込み ハンドラが動いているかをチェックする。

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