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

Linux カーネル 3.8 では i386 がサポート外に 57

ストーリー by reo
3.7のタレコミをはよ 部門より

ymitsu 曰く、

このたびカーネル 3.7 がリリースされ、さらに次期カーネル 3.8 へ向けて着々と開発が進んでいる Linux であるが、カーネル 3.8 では i386 がサポート外になるとのこと (ZDNet の記事Linux Daily Topics の記事本家 /. 記事より) 。

オリジナルの Linux は、Linus Torvalds 氏が所有していた Intel 386 DX を積んだパソコンで 1991 年より開発が始められ、i386 を搭載した PC の普及と歩みを同じくして世間に広まったことはよく知られる話である。それから二十余年、現在まで i386 のサポートは続けられているものの、既にオリジナルの Intel 386 も生産が終了して久しく、開発の重みになっていた。そこで、Red Hat の開発者 Ingo Molnár 氏が i386 をサポートから外すことを Linus 氏に提案した所、Torvalds 氏が了承した

なお「(サポート中止にコストはかからないが) nostalgic cost がかかる」という、Molnár 氏の若干ノスタルジックなコメントに対し、Torvalds 氏本人は逆に「いい厄介払いが出来た (Good riddance)」と返答している。さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており、かつて Linux の普及を支えたこれらの 32bit CPU もいよいよ過去のものとなるもよう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2012年12月18日 11時36分 (#2292252)

    とりあえず英語で書いてあればどれも同じだから適当に並べときゃ良いや、という思考が透けて見える。
    根本的な部分を省略して何をどう説明するというのか・・・

    この件に関してのタレコミをするのなら、リンクはLinusのコミットメッセージ [kernel.org]だけで良い。
    他は全くの無駄。

    引用すると

    Pull "Nuke 386-DX/SX support" from Ingo Molnar:
      "This tree removes ancient-386-CPUs support and thus zaps quite a bit
        of complexity:

            24 files changed, 56 insertions(+), 425 deletions(-)

        ... which complexity has plagued us with extra work whenever we wanted
        to change SMP primitives, for years.

        Unfortunately there's a nostalgic cost: your old original 386 DX33
        system from early 1991 won't be able to boot modern Linux kernels
        anymore. Sniff."

    I'm not sentimental. Good riddance.

    おわかりだろう?
    最も重要なのは「 ... which complexity has plagued us with extra work whenever we wanted to change SMP primitives, for years.」の部分。
    このマルチコア/スレッド全盛の時代に、SMP周りの部分に余分なリソースを割かせていた現況たる、i386が切り捨てられただけの話。
    正にGood Riddance、消えてくれて良かった。

    だいたいからして件のi386コードの除去がコミットメッセージに流れるやいなや、gccでも「i386除去すんべ」って議論になってる。 [phoronix.com]
    たかがゲーム機の発売如きで一々タレコむ暇があるなら、コミットされた時点でタレコめよ。
    どんだけ遅いんだ・・・

    • by bero (5057) on 2012年12月18日 13時51分 (#2292379) 日記

      386と486の違いって何だっけ?
      と調べると

      BSWAP(バイトスワップ)
      XADD(交換&加算)
      CMPXCHG(比較&交換)
      INVD(キャッシュ無効化)
      WBINVD(ライトバックキャッシュ無効化)
      INVLPG(TLB エントリ無効化)

      などで、この中のXADDやCMPXCHGはSMP関連でロックを実現するのに便利な命令群である。
      386の場合は、おそらくソフトウェアで代替コードを作りこむ必要がある。

      逆に言えば、386はシングルCPUのみ対応する形であれば、完全に切り捨てなくても保守コストは大して変わらないんじゃないのかなと個人的には思う。

      Linusのメッセージは見てなかったけど、
      > we wanted to change SMP primitives
      なので予想通りだった。

      親コメント
    • by Anonymous Coward

      具体的にはIO-APICをサポートしていないような旧式のSMPのサポートをやめるということなのかな。本当はi8259互換の旧式の割り込み制御も切り捨てたいところだろう。 PCI世代以降だけになれば、仮想化も多少楽になるだろうしね。

    • by Anonymous Coward

      「手抜き」という意味合いでここにぶら下げさせてください。
      内容とは全く関係ない事なんですが…。

      Linus 氏に提案した所、Torvalds 氏が了承した。

      この程度の表記(Linus 氏/Torvalds 氏)も統一できないのでしょうか?

      • by Anonymous Coward on 2012年12月18日 22時26分 (#2292665)

        じゃおいらも便乗してここにぶら下げさせていただこう。

        開発の重みになっていた。

        開発の「重荷に」か、「足枷に」あたりが妥当だと思いますな。
        「開発の重み」って言われてもなあ…。

        親コメント
      • by Anonymous Coward

        あれ、あなた、LinusとTorvaldsが同一人物だと信じてたの?

    • by Anonymous Coward

      たかがゲーム機の発売如きで一々タレコむ暇があるなら、コミットされた時点でタレコめよ。
      どんだけ遅いんだ・・・

      あなたは何故コミットされた時点でタレコまなかったんですか?

    • by Anonymous Coward

      たかがゲーム機の発売如きで一々タレコむ暇があるなら、コミットされた時点でタレコめよ。

      たかがLinux如きより新しいゲームコンソール発売の方が大事に決まってるじゃねーか。
      朽ちろゲーム脳信者。

  • 便宜上、i386って表記にしているだけだと思っていた。
    今後はi486にでもするのかな?

    • by Anonymous Coward on 2012年12月18日 11時38分 (#2292254)

      今回サポートをやめるのは、`uname -m`で表示されるmachine hardware nameのi386です。最近のディストリビューションなら、i686が表示されるはずです。hardware platformの方ではありません。

      一部の80386下位互換の組込み向けCPUで未だ現役だったはずだけど、大丈夫なのかなあ。もっとも、大騒ぎになっていないところを見ると、最近はコストやIPの問題でARMへの移行が進んでいるので、問題にならなくなったのかなあ。

      親コメント
      • >一部の80386下位互換の組込み向けCPU

        そういうのはカーネルのバージョンを上げる必要がないことが多いのでほとんど問題にならんでしょう。
        gccの386サポート打ち切りも同様ですね。

        # 関係ないけどFPUエミュレーションサポートが打ち切られるとNexGen Nx586でLinuxが動かなくなっちゃうわけだな。
        # Nx587を積んだマザーボードは見たことがなかったけど実在した石なだろうか。未だに気になる。

        親コメント
        • # 関係ないけどFPUエミュレーションサポートが打ち切られるとNexGen Nx586でLinuxが動かなくなっちゃうわけだな。
          # Nx587を積んだマザーボードは見たことがなかったけど実在した石なだろうか。未だに気になる。

          Nx586ですが、 i486で追加された「ユーザーページへの特権レベルからの書込み禁止機能」をサポートしていないためにLinuxカーネルからはi386相当の扱いだそうで、
          今回のi386サポート打ち切りでサポート外となるそうです。
          http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=com... [kernel.org]

          Nx587、所有されてるコレクターはいるようですが、実際に使っていたという話はさっぱり見かけませんね

          親コメント
        • by Anonymous Coward

          Vortex86SX「|∀・)」

    • バイナリだと新しめのCPUに最適化した奴にはi686がよくついてますね。

      --
      スルースキル:Lv2
      Keep It Simple, Stupid!
      親コメント
    • さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており

      と言うんだから、i586 辺りかな。

      # というか、FPU エミュレーションが載っている事に驚いた。まぁ、時代を考えれば確かにそうなんだけど。

      親コメント
      • さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており

        と言うんだから、i586 辺りかな。

        i486DX [wikipedia.org]以降?
        と思ったけど、時間軸だと i486SX の方が後でしたっけ?

        親コメント
      • リンク先のZDNetの記事も読もうよ。

        So while the 486DX and SX will live on in Linux 3.8, the 386 has come to the end of the road in mainstream Linux.

        FPUエミュレーションは残すことになったので486SXでもLinux 3.8は動くとのこと。

        親コメント
      • by Anonymous Coward
        他のFPUを持っていない、組み込みCPUには影響無いんだろうか。一部のPPCとか。時代的にはSIMDでFPU命令自体が切りすれられそうな勢いだけど
        • by Anonymous Coward

          組み込みで使うアプリは自前(か自分で調達)だろうから、浮動小数点演算のライブラリを
          用意してアプリから呼び出せばいいのでは?

          アプリをコンパイルするときFPU命令を生成しないようにすればok。

          # と言いながら、想像しているのはMSDOS時代のCコンパイラ。

    • by Anonymous Coward

      i386とi486って、ソフトウェア側から見てそんなに違うもんなんすかね?

      • by Anonymous Coward on 2012年12月18日 11時22分 (#2292235)

        排他制御で用いられるCMPXCHG命令、キャッシュとTLBが内蔵されたことに伴って追加されたキャッシュ管理命令など、OSの機能を実装する上で「美味しい」命令がi486では追加されていると言えるでしょう。

        逆に今となっては、それらの命令を持たない(少数派となった)i386のためにわざわざソフトウェアエミュレーションを入れ、コードを維持しつづけるのは結構な手間だと思います。排他制御や仮想記憶のバグはシステム全体に致命的な問題を引き起こしますしね。

        親コメント
  • 一瞬i386アーキテクチャが外されるのかと思って些かびっくりしたけど、
    単にオリジナルのi386チップがサポートから外されるだけなんだね。

    NetBSDとかはその性質上まだサポートされてそうだけど、
    FreeBSDとかはどうなのだろう?
    WindowsNTとかは、仮にアーキテクチャ的にはサポートしてても、
    重すぎて動作しなさそう。

  • by Anonymous Coward on 2012年12月18日 11時05分 (#2292213)

    Ubuntuは12.04からPAEが乗っていないCPUでは、OSのインストールができなくなったしね。
    そのせいで6年前のノートPCにインストールできなくなった・・・

    • by w1allen (21025) on 2012年12月18日 11時27分 (#2292241)

      12.04を直接インストール出来ないだけらしいです。
      11.10をインストールして、アップグレードすれば動作するらしいですよ。

      親コメント
      • by Anonymous Coward on 2012年12月18日 11時46分 (#2292260)

        動作しますね、経験済み

        ただ、ほかのディストリビューションを選んだほうがよさそう

        親コメント
  • by Anonymous Coward on 2012年12月18日 10時34分 (#2292174)

    どのあたりの世代までが旧兵になるかですが、
    Socket485より前はもういいんじゃないかと思いますね。
    good-by PentiumⅡ、Pentium!!!. Rest in junk yard.

    • by Anonymous Coward

      Win8ではXDビット必須になった。

    • by Anonymous Coward

      ソフトウェアなんだから物理レイヤーではなく
      命令セットの違いで切り分けるんじゃねーのか?

      でもi486ってFPU以外はi386と大差ないはずだけど……
      P5だってMMX以前は大差ないし。

      だからCPUとかソケット云々ではなく
      FPU前提にするとかMMX前提にするとかだろ。

    • by Anonymous Coward

      Linux Kernel じゃなくてディストリビューションだけど
      Ubuntu Linux が 12.10 でPAE非対応のCPUを切り捨てたので
      Pentium M 機でさえ動かなくなっちゃいましたね…

      今後は他のOSでもこの辺は切り捨てられていくんでしょうね~

      • by Anonymous Coward on 2012年12月18日 12時18分 (#2292293)
        armhf にリソースを集中するためだそうだ
        親コメント
      • by Anonymous Coward

        切り捨てに踏み切る時期がいつになるのかで、対応が違ってきそうな気もします。時間が経って「i386-PAEにするくらいならamd64で」というようになった後だったらと仮定した場合、PAEは前提にするか無前提でいくか、どちらが保守コストひくいんでしょうか……? まあ、よくわかってない上に机上の空論ですが。

        • by Anonymous Coward

          ドライバ周りをいじっていると、PAEは早いとこ無くなって欲しいものです。まともに対応しようとすると意外に大変だし、メモリーアクセスのオーバーヘッドも結構大きいしね。
          もっとも、メモリーアクセスに対するオーバーヘッドという意味だと、64bit用TLBの数が少ないCPUではx86_64の方が更に大きい。

    • by Anonymous Coward

      Pentium!!!時代のPCはまだ現役です!

      # このPCだったりしますw

      • PentiumIII搭載だと、東芝の筆圧対応タブレットPCと、1400x1050液晶積んだT23を持っています。
        たしかにPentiumIIIノートでも、Chromium BrowserでHTML5動画も対応ですが…

        いかんせん、Lubuntuを入れても、グラフィック性能的にこの二台は快適とは言いがたい。
        どちらも、使いたいスペシャリティを持っていますが、実用していません。
        (メモリー384MBでも電源投入から45秒くらいでログイン終了しますけどね)

        Tegra2のdynabookAZのほうが、PentiumIII/1.33GHz機より速いので
        x86でしか…という用途を考えてみても、i386の出番どころかi486SXの出番も無いと思います。

        親コメント
      • by Anonymous Coward on 2012年12月18日 12時52分 (#2292325)

        え?このPC i5載ってるよ?

        ちなみにこのPCのIPアドレスは127.0.0.1です。

        親コメント
  • by Anonymous Coward on 2012年12月18日 10時47分 (#2292192)

    Arch LinuxとかないLinuxもあるわけだし、もっと互換性は切っていった方がいいと思いますけどね

  • by Anonymous Coward on 2012年12月18日 12時01分 (#2292275)

    5年くらい前にはもうすでにi586のバイナリしかないパッケージがいっぱいあったような?
    もうi686以上でいいんじゃないかと思う

  • by Anonymous Coward on 2012年12月18日 18時00分 (#2292536)

    i386ディヴァイスってまだまだ現役だと思っていたけど今後はARMに取って代わられるんですね。

    • by Anonymous Coward

      いや、メモリが4GB以上搭載するのが普通になって、atomからXeonまでx86_64に移行するということです。
      必要メモリが増えると今のARMでは対応できなくなります。もっとも、64bit版が出るまでの話だし、メモリが少なくてもいい環境はいくらでもある。

    • by Anonymous Coward

      宇宙に飛んでいく物体ではまだi386が現役ですよね。

  • by Anonymous Coward on 2012年12月18日 19時40分 (#2292587)

    それ以前にまだ対応してたのか!という驚きが上回ってますが、もう386使ってるPCは限りなく無に近いだろうし妥当かと。

typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...