3

2 つの異なるプラットフォーム ドライバーから呼び出される関数があります。Linux のプラットフォーム ドライバー コアが 2 つの異なるデバイスの probe() を同時に呼び出す可能性があるかどうかを知りたいですか? はいの場合、これら 2 つの probe() から呼び出される共通関数は再入可能に設計する必要があります。

4

1 に答える 1

0

公式には、カーネルのすべての機能は再入可能でなければなりません。あなたの関数は今再入可能である必要はないかもしれませんが、将来何が起こるか誰が知っていますか?

probe関数呼び出し、より具体的にはAFAIK、開始時のバス列挙中にシリアル化されます。ただし、ブートを高速化するために、それらを並列化しようとする人もいます。

さらに、2 つのデバイスが同時に接続されている状況も想像できます。バス ドライバーはprobe、最初の関数がまだ終了していないときに、関数を 2 回呼び出す場合があります。

私の意見では、プローブ機能は再入可能でなければなりません。

于 2014-09-09T15:35:31.820 に答える