
AMD Zen 1 および Zen 2 システムの起動時間が数分に及ぶことがあるバグが、本日 Linux 6.13 カーネルで修正されました (Phoronix 経由)。
Linuxは古いハードウェアでは起動に時間がかかることがあります(古いIntel 4004では約5日)が、特に遅いOSとして知られているわけではありません。8月に行われた最適化によって起動時間がわずか0.035秒短縮されただけでも、Linuxは既に高度に最適化されたOSであるため、注目に値すると考えられました。
エンジニアはまた、この問題は2023年5月にLinux 6.11に追加された変更に起因すると判断した。「両方のスレッドで遅れてロード」と呼ばれるこの変更は、同時マルチスレッド(SMT)を備えたAMD CPU(基本的に2017年以降のすべてのZenベースのCPU)のマイクロコード更新に対処することになっていた。SMTは各コアに2つのスレッドを与えるため、パッチの「両方のスレッド」の部分はこれに相当する。
「両スレッド」コードを書いたAMDの従業員によると、Linuxは当初、特定のマイクロコード更新が片方のスレッドのみに適用可能か、それとも両方のスレッドに適用する必要があるかをチェックしていたという。しかし、パッチによってこのチェックが削除され、今後はマイクロコード更新は常に両方のスレッドに適用されるようになった。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
「Bulldozer以降のCPUでは、遅延ロードの追加は問題にならないと主張されています。しかし、私の観察に基づくと、この主張は誤りである可能性があります」と、Nokiaの従業員は「両スレッド」パッチを作成したAMDのエンジニアに宛てたメールに記した。それから1ヶ月も経たないうちに、エンジニアは本日、6.13-rc1カーネルにパッチを提出した。このパッチは、マイクロコードの更新をCPUのメモリバッファからフラッシュすることで問題を修正し、更新が2度実行されるのを防いでいる。
Phoronix によれば、このパッチは Linux カーネルの以前の安定リリースにもバックポートされるはずで、6.13 より前のカーネルに基づくディストリビューションは、AMD の初期の Zen コアでの起動時間の遅延に対する修正を受け取ることができるようになるという。
この問題が1年以上前から存在していたにもかかわらず、今月になって初めて認識されたことを考えると、多くのユーザーや組織に影響を与えなかった可能性が高いでしょう。これは当然のことですが、オリジナルのZen CPUは2017年に発売され、Zen 2チップは2019年に登場しました。現時点では、これらの比較的古いCPUを搭載しているコンピューターはごくわずかです。
マシュー・コナッツァーは、Tom's Hardware USのフリーランスライターです。CPU、GPU、SSD、そしてコンピューター全般に関する記事を執筆しています。