Linuxの最新カーネルにおいて、Intel 486や一部(原文では早期の)586プロセッサに対するサポートが打ち切られる見込み。4月25日にIngo Molnar氏がLinuxカーネル開発コミュニティに対する投稿で明らかとなった。
これは、そもそも古い32bit CPUで最新のカーネルを使うユーザーが少ないという現状を踏まえたもの。Linuxの第一人者でもあるLinus Torvalds氏も最近、「i486のサポートを放棄する時期が来たという実感がある。(対応するために発生する)問題に対する対処する労力を1秒でもかける正当な理由が見当たらない」とコメントしている。
486や一部の586(Pentium)互換プロセッサでは、TSC(Time Stamp Counter)およびCX8(CMPXCHG8B)命令をサポートしていない。これらの命令はIntelのPentiumプロセッサで初めて搭載されたものとなっているが、Linuxカーネルでは非搭載の486や586互換CPUのためにエミュレーションの仕組みを残している。
しかしこの互換性のための“接着剤”が、場合によっては問題を引き起こし、解決に時間がかかる。その問題解決に時間をかけるぐらいなら、ほかのことに時間を割いだほうが良いというわけだ。サポートを打ち切ることにより、math-emuライブラリを中心にかなりの量のコードを削除できる(80ファイルの変更、38個の挿入、14,104個の削除)。
なお、TSCはCPUに内蔵されている64bitのカウンタで、電源投入以降のクロックサイクル数を記録し、高精度な時間測定に使われる。一方CX8は8B(バイト)の比較および交換命令で、マルチスレッド処理やロックフリーなデータ構造で使われるものだ。“586互換”とされる一部CPUは、性能こそPentium並みだがアーキテクチャが古いためTSCやCX8をサポートしていない。
Views: 2