私はLinuxカーネルの初心者です。 現在、私はアイドルコードを調べ、質問をしました。 プロセッサが独自の実行キューにタックを持っていない場合、 がアイドルモード、特定のWFI(割り込みのためのwating)になることがあります。 WFI状態に留まった後に、他のプロセッサ(アイドルではない)が のタスクをこれにアイドル状態のプロセッサ(負荷バランスによって)に広げたいと思うかもしれませんが、これはX86ではなく、 。その時、ビジー状態のプロセッサー は、タスクをイミグレートします。私の視点では、タスクが移行されるとき、アイドルプロセッサ はタスクを処理するためにimmidiatleyを起動する必要があります。右?しかし、私は アイドル状態のプロセッサーを目覚めさせるコードは見つけられませんでしたが、アイドル状態のプロセッサーの実行キューにタスクを登録するコードしか見つかりませんでした。新しいタスクが作成されたら、Linuxカーネルはアイドル状態のプロセッサをどのように起動させますか?
私は新しいタスクが与えられたときに起床するプロセッサの後ろにどのメカニズムがあるのか知っています。 それはちょうど1つの待ち行列から他の待ち行列にタスクを移動させます。 いくつかの予期しないIRQによって目を覚ますまで待ちますか?
私に真実を表示してください:)
これはスレッドウェイクアップ用であり、CPUウェイクアップ用ではありません。 PF_WAKE_UP_IDLEフラグは、Linuxカーネル3.18以降では存在しません。 – Zhifei