パスワードを忘れた? アカウント作成
2092 story

Athlonにバグ、Linuxに影響あり?なし? 9

ストーリー by Oliver
バイナリオンリーの罠 部門より

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, 参考になる)

    by koshian (6999) on 2002年01月23日 17時49分 (#56617) ホームページ 日記
    Processor familyをPentium以降のCPUにして、nVIDIAのバイナリドライバを突っ込んでるAthlon/Duron/AthlonMPマシンでフリーズする、ということですかね?
    英語が良くわからない上に、本家のリンクから元記事に辿るとMozillaがX巻き込んで落ちてしまうので、なんとも把握できないのですが。
    • by namatias (4000) on 2002年01月23日 17時59分 (#56621) 日記
      そう読めると思います。バイナリドライバ、ということは XFree86-4.x を 使っているということにもなるでしょう(3.3.xじゃドライバは使えないですよね?ちょっと確認不足ですけど)。 ただ、私はバイナリドライバ使ってないですけど、CPUのバグによって引き起こされる問題の詳細が理解できていないので、mem=nopentiumを付けて昨日から使っています。
      親コメント
  • Alphaのスーパーページと昔のCyrixのラージページ くらいしかLinuxには関係なさそうなのに、ドライバが 勝手にやるってのはありなのか・・。 カーネルコンパイルオプションの変更ってのも カーネル自体がラージページを使わない以上関係が あるとも思えないし、カーネルと独立してバイナリ 配布されているモジュールにカーネルのコンパイルオプションが 影響するってのもなんだか? 別のバグが潜んでいるんじゃないのか? というのは、ともかく、アラインされていないラージページ なんて実用上ほとんど必要ないものをがんばって作りこんで バグを出すアーキテクトってかわいそうだな。
    --
    Ea
  • by nax (6438) <{cae10160} {at} {gmail.com}> on 2002年01月23日 13時30分 (#56519) 日記
    AthlonXP はどうなんですかね。
    MP と同じコアだからアウトのような気はしますが。
  •  この記事のトピックが「Linux」ってのはちょっと違う気がする。
     そのものな「AMD」があるんだから、こっちの方が良かったのでは?

    #ユーザ設定でLinux除外してたから、今まで気が付かなかった、、、
    • by SteppingWind (2654) on 2002年01月23日 17時50分 (#56618)

      本家のスレッドによると, すでにこの件はWindows上で発覚していて対処済になっているらしいので, やっぱりLinuxが妥当かと. *BSDではどうなのか分かりませんが.

      親コメント
      • by Anonymous Coward
        OpenBSDに入っているworkaround [openbsd.org] も興味深いです。 こちらはcompiler bugという主張でAthlonとは関係なさそうですが、別物でしょうか。
        • 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を対象とするので落とし穴になる可能性があります。

          親コメント
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...