MCE(マシンチェック例外)とスレッドに関連するLinuxカーネルの動作

MCE(マシンチェック例外)とスレッドに関連するLinuxカーネルの動作

最近、PCIeバス規格に完全に準拠していないカスタムハードウェアで作業していますが、デバイスから何かを読み取るとバスエラーが発生し、Linuxシステムチェック例外が発生します。これが発生すると、MCEをトリガーする私のアプリケーションのpthreadが終了します。同じプロセスの他のすべてのスレッドは続きます。 MCEの間にシャットダウンされたスレッドが保持していたすべてのミューテックスロックは解放されず、これによりアプリケーションデッドロックが発生することがよくあります。

MCEに対するLinuxカーネルの動作を説明できる人はいますか?マルチスレッドプロセスでシングルスレッドを停止することが予想されるか、意図されていますか?私はカーネルが親プロセスをアクティブに保ちながらLWPを一方的にシャットダウンできる他の状況を知らないので、これについてもっと知りたいと思います。

ベストアンサー1

おすすめ記事