CONFIG_NO_HZがデフォルトで設定されていない理由

CONFIG_NO_HZがデフォルトで設定されていない理由

Linuxカーネルに設定はありませんCONFIG_NO_HZ。しかし、予備的な内容を読んでみると、パフォーマンス側でこのオプションを設定するのが良いことがわかりました。しかし、少し読んでください。このような投稿もう一度考えさせました。

CONFIG_NO_HZデフォルトで設定されていないか、有効にしてもパフォーマンスが向上しないのはなぜですか?

ベストアンサー1

ティックは、ハードウェアタイマーによって生成された割り込みで、CONFIG_HZカーネル構成によって決定された定期的な間隔で発生します。これは、ほとんどのアーキテクチャでカーネルがコンパイルされたときに設定できます。チック割り込みはCPU固有の割り込みです。 Linux 2.6.21以降、アイドルダイナミッククロック期間機能は、CONFIG_NO_HZカーネル設定オプションを使用して設定できます。目標は、より深いスリープモードに入るためにアイドル状態のときにチック割り込みを削除することです。これはラップトップにとって重要ですが、サーバールームの電気料金を減らすこともできます。 Linux 3.10.0 には、CPU で単一タスクを実行する際にチックの中断を排除するための完全なダイナミックティック機能が導入されました。ここでの目標は、スレッドが中断することなく実行されることを保証し、高性能コンピューティングとリアルタイムのユースケースをより効果的にサポートすることです。以前の構成 CONFIG_NO_HZ は CONFIG_NO_HZ_IDLE に名前が変更され、新機能には新しい構成オプション CONFIG_NO_HZ_FULL が追加されました。

あなたの質問に対する答えは、CONFIG_NO_HZ(_IDLE)がアイドル状態に入って出るコストを増やし、アイドルCPUがタスクを再開するのにかかる時間を少し増やすことです。待ち時間に非常に敏感な環境では、このコストが高すぎると見なされる可能性があります。他の人にとっては、アイドルCPUのタイマーを無効にすることは、バッテリ駆動システムの場合、ほぼ確実に正しいことです。

確認する:http://lwn.net/Articles/549580/

おすすめ記事