Linux Daily Topics

2021年12月1日Linux 5.16-rc3がリリース、Intel Alder Lakeで発生していたバグを修正

Linus Torvaldsは11月28日(米国時間⁠⁠、次期Linuxカーネル「Linux 5.16」の3本目のリリース候補版となる「Linux 5.16-rc3」を公開した。RC3ではIntelのデスクトップ向け第12世代Coreプロセッサ「Alder Lake」に関連するものを含め、Intelプロセッサで発生していたバグを修正する重要なパッチが含まれている。

Linux 5.16-rc3 -Linus Torvalds

Intelは11月4日付けでAlder Lakeの販売を解禁、すでにAlder Lake対応のマザーボードが複数のメーカーから発売されている。Alder Lakeは開発の初期段階からMicrosoftのエンジニアが協力しており、したがってWindows 11との親和性は非常に高い。

一方、LinuxでもLinux 5.16の開発からAlder Lakeのサポートが始まっており、Intelの開発者も参加している。だがいくつかのAlder Lake搭載マザーボードにおいて、オーバークロックが有効になっていると、Alder Lakeの特徴であるハイブリッドなコア構成をうまく活かすことができず、パフォーマンスが上がらないという報告が寄せられていた。

Alder Lakeは高速パフォーマンスを実現する「Pコア(Performance-core⁠⁠」と、電力効率やスループットの最適化に特化した「Eコア(Efficient-core⁠⁠」という2つの異なるコアを組み合わせたハイブリッド構成となっており、優先度の高いタスクや高速処理が求められるタスクにはPコアを、消費電力を抑えたいタスクにはEコアを、といった最適化が可能となっている。また、ナノ秒単位でハードウェアの監視情報(テレメトリ)を収集し、それをOS側に提供することで、OSに最適なスケジューリングを決定させる「スレッドディレクタ(Intel Thread Director⁠⁠」という機能がコアに埋め込まれており、個々のワークロード/ワークフローに適したスケジューリングを実現できるのが大きな特徴となっている。

だがLinuxの場合、Alder LakeのPコア/Eコアへの最適化スケジューリングはIntelのCPUに実装されている「ターボブースト(ITMT: Intel Turbo Boost Max Tecnnology⁠⁠」に依存する。つまりターボブーストをカーネルドライバ(CPPC.highest_perf)で有効な状態に設定しておかないと、Alder Lakeの本来のパフォーマンスを活かすことができない。しかしいくつかのマザーボードでは、オーバークロックが有効な状態だとCPPC.highest_perfがハードウェアレベルで無効になってしまうという不具合が発生していた。

このバグに対し、Intelの開発者であるSrinivas Pandruvadaが修正パッチを作成、ハードウェアがプロセッサのPステート(アクティブ時)を制御する「HWP(Intel Hardware controlled P-state⁠⁠」で対応している。

Merge tag 'pm-5.16-rc3' of git :git.kernel.org

LinusはこのAlder Lakeを含むIntelプロセッサ関連の修正パッチを11月26日付けでマージし、Linux 5.16-rc3の公開に至っている。Intelが「マルチスレッドを再定義する」というミッションを掲げ、初代マイクロプロセッサ「Intel 4004」⁠1971年)から50周年の節目にあわせて開発されたAlder LakeでLinuxが動く日も近いようだ。

おすすめ記事

記事・ニュース一覧