昨年の 8 月に遡ると、SMT ドメイン内での不必要なタスクの移行を回避することで、Linux 上での Intel ハイブリッド CPU の処理を支援する Intel パッチがありました。この夏、これらの Intel パッチは、最終的に Linux 6.5 カーネル サイクルとともに提供される予定です。
昨年 8 月以来、Linux カーネル スケジューラに対するインテルのパッチは、SMT/ハイパー スレッディングを搭載したインテル ハイブリッド CPU の処理を支援するために改良が続けられてきました。元のパッチでは、既存の Linux カーネルの問題について次のように説明されています。
「インテル ターボ ブースト マックス 3.0 をサポートするインテル プロセッサーは、asym_packing を使用して、より高い最大周波数を持つ CPU に高い優先順位を割り当てます。ただし、これは人為的に割り当てます。最後に使用されるように、番号の大きい SMT 兄弟の優先順位を低くします。
これにより、SMT ドメイン内で不必要なタスクの移行が発生します。
高周波数の SMT コアが混在するプロセッサ上低周波数の非 SMT コア (Intel ハイブリッド プロセッサなど) では、複数の SMT 兄弟がビジー状態の場合、優先順位の低い CPU が優先順位の高いコアからタスクを引き出します。」
オリジナルのパッチがリリースされてから、Raptor Lake もリリースされるまでに数か月かかりましたが、少なくとも Linux 6.5 に関しては、これらのパッチは最終的にリリースされる予定です。今日のパッチは、TIP の sched/core Git ブランチにキューに入れられました。これは、7 月上旬に開始される予定の v6.5 カーネル サイクルの材料としてマークされていますが、安定したカーネルのリリースは 8 月中旬から下旬になる予定です。
TIP の sched/core ブランチにキューに入れられる 4 月の v4 パッチにより、Meteor Lake での処理を改善するための準備も整います。 Meteor Lake は、Alder Lake や Raptor Lake と比較して、「複数のダイで最大周波数が異なる CPU」を使用するため、特別な処理が必要でした。
ハイパー スレッディングを使用して一部の Intel ハイブリッド CPU のベンチマークを行って、最終的にパフォーマンスにどのような影響を与えるかを確認するのは楽しいでしょう…ご期待ください。