Athlonにバグ、Linuxに影響あり?なし? 9
バイナリオンリーの罠 部門より
namatias曰く、"本家の記事によれば、AMDのCPUに前からわかっているバグがあり、Athlon/Duron/Athlon MPを使っている場合で、kernelがPentium以降のCPUに対する最適化付きでコンパイルされていると、このバグが原因でフリーズするそうです。
本家の方では2.4系列のことしか書かれていないのですが、(多くのユーザを抱えていると思われるVineで標準の)2.2系列でも問題になるように思えます。2.2系列のソースにもmem=nopentiumオプションで4MBページングを無効にするようなコードが書かれているからです。私は急いでこのオプションを付けて/sbin/liloして再起動しました(この意味不明のフリーズにあっているし)。
なお、このオプション付きで起動するとMathematicaによる300000の階乗計算が6.41秒から6.42から6.43秒へと遅くなったように思えます。本家の方では0.003%遅くなるという結果もあがっているようです。安心料としては安い方かな?と個人的には思えますが、、、、なぜいままでほっとかれているのか不思議。"
アラインされていない4MBラージページをinvlpgした時にキャッシュの一部がフラッシュされずにメモリの内容が破壊されるとか。特にAGPとの組合せで起きやすいらしい。しかし、カーネルハッカー達によるとラージページのinvalidateなんてしないからLinuxには関係ないはずだそうだ。一方でmem=nopentiumで初めてTuxRacerが遊べた、という人も。どうやらnVidiaのバイナリオンリーなドライバがなにかやっている疑い。
まとめると (スコア:2, 参考になる)
英語が良くわからない上に、本家のリンクから元記事に辿るとMozillaがX巻き込んで落ちてしまうので、なんとも把握できないのですが。
Re:まとめると (スコア:1)
Re:まとめると (スコア:1)
ということは、AMDのCPUでLinux動かす時は、Xは3を使うかnVIDIA以外のグラフィックカードを使え、ということですね。
nVIDIAとAMD、どっちが悪者にされるのかなあ^^;;
ラージページサポートは (スコア:1)
Ea
XPは? (スコア:1)
MP と同じコアだからアウトのような気はしますが。
記事の内容とは関係無いが (スコア:1)
そのものな「AMD」があるんだから、こっちの方が良かったのでは?
#ユーザ設定でLinux除外してたから、今まで気が付かなかった、、、
Windowsでは対処済 (スコア:1)
本家のスレッドによると, すでにこの件はWindows上で発覚していて対処済になっているらしいので, やっぱりLinuxが妥当かと. *BSDではどうなのか分かりませんが.
Re:OpenBSD (スコア:0)
多分別もの + FreeBSDでは (スコア:1)
gccがi386上で(なくてもいいけど)page table、ないしはTLBの管理をするとは聞いたことがないです。多分別物でしょう。
FreeBSD/i386の場合、kernelのtext、data、bssをloadしたpageについてのみlarge pageを使います。もちろんalignmentはきちんととっています(-currentしか調べてないけど)。
Cache invalidationですが、もしかしてcontext switchのための%cr3更新によるTLB flushでしょうか? これはすべてのTLB entryを対象とするので落とし穴になる可能性があります。