mutex は同じスレッドによって再入可能ではありません。mutex をすでに保有している場合、この mutex をもう一度取得しようとすると次のパニックが発生します。
panic: recursive mutex_enter. mutex %x caller %x
現在のスレッドが保持していない mutex を解放すると、次のパニックが発生します。
panic: mutex_adaptive_exit: mutex not held by thread
次のパニックは単一プロセッサ環境でのみ発生します。
panic: lock_set: lock held and only one CPU
lock_set パニックは、ほかの CPU がスピン mutex を解放できないため、この mutex が保持されてスピンし続けることを示します。ドライバが特定のコードパスで mutex を解放しなかった場合や、mutex の保持中にドライバがブロックされた場合に、この状況に陥る可能性があります。
lock_set パニックのよくある原因は、割り込みレベルの高いデバイスが、cv_wait(9F) のようにブロック処理を行うルーチンを呼び出したときに発生します。別の一般的な原因は、mutex_enter(9F) を呼び出すことによって適応型 mutex を獲得する高レベルハンドラです。