カーネルロック処理の流れ

二つのCPU上のプロセスが、それぞれカーネルロックを発行した時の典型的な動きを図に表す。縦軸は時間を表し、時間の経過に従って下方向へ進んで行く。太い線はカーネルのロック期間を示し、渦巻線はビジーウェイト中であることを示している。

通常のspin_lock関数によるロックと異なる点は、ロックのネストを許すことと、ロックした状態でスケジューラを呼び出すことができる点である。また、通常のスピンロックと異なりカーネルロックを行った状態で他の資源のスピンロックを行う。(通常のLinuxカーネルの実装方式では、複数の資源を同時にロックしない。)

img125.gif

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