0

netbsd システム カーネルでウォッチドッグ タイムアウトが発生し、スタック トレースで、IP パケットを処理するためにソフトウェア割り込みによってカーネル ページ フォールト ハンドラが中断されたことが示されています。トレースは次のようになります。この netbsd 4.x

0xcf910db0: m_copyback0+0x3fc で

0xcf910e00: m_makewritable+0x40 で

0xcf910e20: fr_check_wrapper+0x44 で

0xcf910e50: pfil_run_hooks+0xd0 で

0xcf910e90: ip_input+0x3dc で

0xcf910ed0: ipintr+0x4c で

0xcf910f00: netintr+0x60 で

0xcf910f20: softintr_dispatch+0x150 で

0xcf910f60: ext_intr+0x2bc で

0xcf910fa0: cpu_switchto+0x768 で

0xf1733d90: uvm_fault_internal+0x150 で

私の質問は、ページ フォールト ハンドラ内で割り込みを有効にするのは良い考えですか?

4

1 に答える 1

0

ページフォールトハンドラーはスリープ状態になる可能性のあるユーザープロセスコンテキストでも実行できるため、割り込みを有効にしておくことはデッドロックを防ぐ良い方法のようです。

于 2013-06-24T17:49:23.283 に答える