
■事実
Intelから提出されたパッチ群が、次期Linuxカーネル7.3のマージウィンドウで取り込まれる見通しとなりました。
対象はP-コア/E-コア/LPEコアが混在するIntelのハイブリッドCPU(Core Ultraシリーズなど)向けの「クラスタ対応スケジューリング」機能です。
修正を主導したのはIntelのLinuxカーネルエンジニア、Ricardo Neri氏です。
クラスタ対応スケジューリング自体は2021年にLinuxカーネルへ導入された機能で、L2キャッシュなど中間層リソースを共有するコア群(クラスタ)間で負荷を均等分散させる目的でする
Phoronixの記者Michael Larabel氏は、この機能が導入直後からIntelのハイブリッドCPUで不具合を引き起こしていたと指摘。これまで改善が重ねられてきたが根本的な最適化はされていなかったと説明しています。
問題の具体的な症状:システムに空きコアがある「部分的にビジー」な状態のとき、重いタスクはP-コアに正しく振り分けられる一方、残りのタスクは複数のE-コアクラスタ間で均等分散されるべきところ、実際には均等分散されていませんでした。
影響範囲としてAlder Lake・Lunar Lake・Panther Lakeが明記されています。
今回のパッチ群は4本の小規模な修正で構成され、新ヒューリスティックの追加ではなく、本来意図された挙動の復元しました。
Neri氏はSMT有効・無効それぞれのAlder Lakeと、L3に直接接続されていない低電力E-コアクラスタを持つLunar Lake・Panther Lakeの両方で検証しました。
クラスタ対応スケジューリング自体を無効化した状態でも同様のテストを行い、ロードバランサが想定通り動作することを確認しました。
パッチはtipツリーのsched/coreブランチに取り込まれ済み、審査で問題なければLinux 7.3で正式マージ見込みです。
パッチ提出時点で具体的なベンチマーク数値は未公開。Larabel氏はLinux 7.3の開発サイクルが本格化した段階でCore Ultraでの検証を行う予定です。
表:時系列整理
| 時期 | 出来事 |
|---|---|
| 2021年 | クラスタ対応スケジューリングがLinuxカーネルに導入。均一コア構成を想定 |
| 2021年末〜 | Intelハイブリッド環境でのリグレッションが指摘される |
| 2022年 | 最初のハイブリッドCPU向け最適化パッチ群が提出 |
| 2023年 | 追加改善パッチが継続提出。一方でE-コア偏重の不具合報告も浮上 |
| 2026年8月 | 4本の本格修正パッチがtipツリーに取り込まれ、Linux 7.3でのマージ見込み |
■解説
ポイントは「新機能の追加」ではなく「5年前に導入された機能がずっと正しく動いていなかった」という点。クラッシュもエラーも出ないタイプの不具合だったため、5年間気づかれにくい状態が続いた。
クラスタ対応スケジューリング自体はArm系Kunpeng920やIntel Jacobsvilleのような「均一なコア構成」を前提に設計された機能。全コア性能が同じという前提のロジックを、非対称なハイブリッドCPUにそのまま適用したのがそもそもの設計ミスマッチだ。
2021年の導入直後からリグレッションが指摘され、2022年・2023年にもIntelから改善パッチが断続的に提出。それでも根本修正には至っておらず、いわば5年越しの本丸修正だ。
2023年11月にはAlder Lake環境で「シングルスレッドタスクが常にE-コアに割り当てられる」別種の不具合報告もLKMLに上がっており、ハイブリッドCPUのスケジューリングはこの手の偏り系不具合が繰り返し報告されてきた領域だ。
背景として、IntelのThread DirectorはもともとWindows 11向けに最適化されて導入された経緯があり、Linux側の対応は後追いで進んできた歴史がある。
実利用への影響という観点では、今回のパッチはベンチマーク数値が未公開という正直な留保付き。派手な改善アピールではなく「本来あるべき動作に戻す」地味な修正である点は評価したい。
Nova Lakeなど今後のIntelチップはマルチダイ構成まで含めさらに複雑な非対称構成になる見通し。今のうちにスケジューラの基礎ロジックを固めておく布石という捉え方もできる。
5年間気づかれなかったバグを「静かに修正しました」で済ませられるあたり、クラッシュしないバグの方がある意味タチが悪いという好例。
Linux 7.3リリース後、実際のCore Ultra環境でどれだけ体感できる差になるのか、ベンチマーク待ちというのが正直なところだろう。