2017-12-21 48 views
0

私は答えがNOだと思いますが、残念ですが、私はカーネルを初めて使っています。理由を知りたいのですが。Linuxカーネルでは、free_irqシステムを危険にさらしますか?

カーネルコードを調べたところ、スレッドirqが解放されると、kthread_stop(action-> thread)が呼び出されます。

少し危険ですか? Linuxのドライバでは、通常は、停止させてはならない下半分でHW操作を行います。

kthread_stopの動作を誤解しましたか、またはirqスレッドを停止しても問題ありませんか?

答えて

0

私はこの質問に自分自身で答えるでしょう。 action-> threadを停止する前に、synchronize_irq(irq)を呼び出します。これは、hardirqハンドラが実行されず、スレッドハンドラがアクティブになるまで待機します。