何もすることがない場合 (SMP を含む)、「何もしない」のではなく、Linux カーネルがアイドル スレッドを実行するのはなぜですか?
3656 次
2 に答える
7
スケジューラーがアイドルタスクに切り替えることを決定すると、この時点で、次のタイマーが切れるまで定期的なティックを無効にすることにより、動的ティックが機能し始めます。ティックは、この期間の後、またはある時点で割り込みが発生したときに再び有効になります。
その間、CPUはアーキテクチャ固有の方法で十分なスリープ状態になり、電力を節約します。cpu_idle()
arch / x86 / kernel/process.cの定義を見てください。
/*
* The idle thread. There's no useful work to be
* done, so just try to conserve power and have a
* low exit latency (ie sit in a loop waiting for
* somebody to say that they'd like to reschedule)
*/
void cpu_idle(void)
于 2013-01-14T14:43:26.337 に答える