Show page source of internal22-230-BHハンドラ #25336

[[PageNavi(internal22-navi)]]

{{{ comment
h2w-title:BHハンドラ
}}}
 

= BHハンドラ = #SECTION06490000000000000000

BHハンドラもシステム上に一つしか存在できない。do_bottom_half関数でBHハンドラを起動する前にチェックを行っている。

また、BHハンドラと割り込みハンドラ、割り込み禁止区間の関係も微妙である。あまり凝った仕掛けを入れるのはあきらめ、大雑把な排他としたようだ。

  *  BHハンドラの起動条件。以下の条件が満たされないときは、	BHハンドラの起動をあきらめる。次にdo_bottom_half関数	が呼び出された時点でまとめて処理する。 
    *  他のCPU上でBHハンドラが動いていないこと
    *  他のCPU上で割り込みハンドラが動いていないこと
    *  他のCPUが割り込み禁止区間を走行していないこと 
  *  割り込みハンドラの起動条件。 カレントのCPU上でBHハンドラ、割り込みハンドラが動いている時は、	単にその上に割り込んで起動してしまう。(ハンドラのネスト) 
    *  他のCPUが割り込み禁止区間を走行していないこと 
  *  割り込み禁止区間走行条件。以下の条件が揃うまでの間、	ビジーウェイトすることになる。 
    *  他のCPUが割り込み禁止区間を走行していないこと
    *  他のCPU上で割り込みハンドラを実行していないこと
    *  他のCPU上でBHハンドラを実行していないこと 

----

''(NIS)HirokazuTakahashi [[BR]]2000年06月11日 (日) 22時29分57秒 JST''1

[[PageNavi(internal22-navi)]]