Announcement

Collapse
No announcement yet.

The Linux Kernel May Finally Phase Out Intel i486 CPU Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by sinepgib View Post
    2. While I don't think anybody ever tried running binaries built by Rust on i486, cross-compiling solves the "compiler can't run on a humble i486" problem.
    3. The proposal to drop i486 has nothing to do with Rust.
    Well, actually Rust does have some issues with legacy targets https://github.com/rust-lang/rust/issues/82435 - I'm not sure if Rust even supports bootstrapping the whole toolchain for building a kernel on a i486/586 target.

    Comment


    • Originally posted by caligula View Post
      Well, actually Rust does have some issues with legacy targets https://github.com/rust-lang/rust/issues/82435 - I'm not sure if Rust even supports bootstrapping the whole toolchain for building a kernel on a i486/586 target.
      While I expected that issue in code generation, I feel the need to clarify. My message is precisely that you wouldn't build the kernel on i486, but you would cross compile it for it, so the i486 not being powerful enough ("humble") is not a real problem. Fixing code generation is probably a matter of passing the right flags to LLVM.

      EDIT: also clarifying that, yes, currently Rust will have issues, but no, it isn't because of that (for a start, it shouldn't be that hard to fix in rustc) that they think of dropping i486, but because of the extra effort it would take to support MGLRU on it. Two issues may coexist without being both bad enough to take drastic measures, and the case of Rust is pretty much fixable.
      Last edited by sinepgib; 25 October 2022, 10:24 AM.

      Comment


      • Originally posted by Developer12 View Post
        The pentiums speculate and are affected. They're complex out-of-order superscalar chips.
        Minor nit - I believe the original Pentium is superscalar but does not use speculative execution.

        Pentium Pro was the first x86 with speculative execution IIRC. (fixed per Svyatko's comment below)
        Last edited by bridgman; 26 October 2022, 12:08 PM.
        Test signature

        Comment


        • Originally posted by bridgman View Post

          Pentium Pro was the first with speculative execution IIRC.
          For x86 only, not for all others: https://en.wikipedia.org/wiki/Superscalar_processor

          https://en.wikipedia.org/wiki/Pentium_(original)

          The P5 Pentium was the first superscalar x86 microarchitecture and the world's first superscalar microprocessor to be in mass production—meaning it generally executes at least 2 instructions per clock mainly because of a design-first dual integer pipeline design previously thought impossible to implement on a CISC microarchitecture.

          Comment


          • Originally posted by kneekoo View Post

            All existing hardware has "32-bit CPUs" simply because they can run 32-bit software. RAM-limited PCs are better off with 32-bit software, to save RAM. I just checked Amazon.com and they have over 2000 results (in late 2022!) for laptops with 2GB or 4GB RAM - many of them with ChromeOS or Windows 10/11, so they're not ancient hardware. Many, if not all, don't have a RAM upgrade option. It's downright insulting towards consumers, but they're cheap enough that people still buy them.

            So stop acting like a smartass and rather throw crap at PC manufacturers for perpetuating this nonsense. Go tell a kid to ask his parents to buy a new laptop with more RAM, and see how that works. It's easier to just install 32-bit software to lower the RAM usage. It won't run as fast as 64-bit software, but it will run well enough. It won't run every browser, but Firefox and Chromium still have 32-bit builds.
            Firefox & Mesa 3D requires SSE2, Chrome browser requires SSE3.
            My system with 3 GiB RAM runs in 64 bit faster than in 32 bit.
            With small amount of RAM Linux with swap on NVME drive works OK.
            32-bit OSes support only 2 GiB for system + 2 GiB for applications.
            Forget about 32-bit OSes for modern web browsing and desktop.
            New AM4 A320 mobo + A6 APU + 4-8 GiB of RAM can cost about $100 and supports x86-64-v3.

            Comment


            • Originally posted by Svyatko View Post
              Firefox & Mesa 3D requires SSE2, Chrome browser requires SSE3.
              Not the only browsers and browsing is not the only way to take advantage of a computer. Besides, 32 bits OSes don't stop you from using the extensions AFAICT. For example the Atom N270 doesn't even support 64 bits, and yet has both instruction sets.

              Originally posted by Svyatko View Post
              ​32-bit OSes support only 2 GiB for system + 2 GiB for applications.
              Not true. In Linux the split is 1GiB+3GiB, you're extrapolating Windows behavior. There's also PAE that allows for IIRC about 64GiB.
              Besides, since that's only for the address space, it's *per* application, not *for* applications. You can have hundreds of GiBs on swapped applications if you need to. As long as a single one doesn't use more than that (which regular applications shouldn't, regardless of the fact they do due to sloppiness).

              Originally posted by Svyatko View Post
              ​New AM4 A320 mobo + A6 APU + 4-8 GiB of RAM can cost about $100 and supports x86-64-v3.
              That may be the case in your country and you may have $100 to spare.

              Comment


              • Originally posted by Svyatko View Post
                For x86 only, not for all others: https://en.wikipedia.org/wiki/Superscalar_processor
                Good catch - AFAIK speculative execution goes at least as far back as the IBM 7030 (Stretch). I updated my post accordingly. I'm not sure the 7030 was first to use speculative execution but it was the first I could find quickly.

                Interestingly enough IBM did not use speculative execution again for 20+ years after the 7030.

                While poking around at the history I was reminded that just having a branch predictor does not automatically imply speculative execution - some CPUs just do speculative fetching and others do speculative fetching and decoding with no speculative execution in either case.
                Test signature

                Comment


                • Originally posted by Svyatko View Post
                  Firefox & Mesa 3D requires SSE2, Chrome browser requires SSE3.
                  My system with 3 GiB RAM runs in 64 bit faster than in 32 bit.
                  With small amount of RAM Linux with swap on NVME drive works OK.
                  32-bit OSes support only 2 GiB for system + 2 GiB for applications.
                  Forget about 32-bit OSes for modern web browsing and desktop.
                  New AM4 A320 mobo + A6 APU + 4-8 GiB of RAM can cost about $100 and supports x86-64-v3.
                  Swapping on flash memory is a terrible idea, especially on cheap hardware, which is the target of those RAM-limited laptops. And again, the point I was making there is that not everyone knows how to shop for hardware, and some people actually have little money to spend on computers. And even today, people can buy this kind of hardware, brand new.

                  Here's one example that costs $200: https://www.amazon.com/10-1Inch-Grap...dp/B086LB6FVW/

                  It's a cheap and fully functional PC, you can do a lot of things with it, but the RAM limitation is pretty bad.
                  CPU: Intel Atom x5-Z8350 quad core 64-bit, Secure Boot, AES-NI and VT-x (you can even run retro VMs)
                  RAM: 2GB maximum
                  Storage: 32GB eMMC

                  Apart from the write cycle limit that flash memory has, eMMC is also not great because the more you use it, the slower it becomes, so swapping both shortens its lifetime and performance. And running a desktop OS and browsing the web requires some RAM. The Raspberry Pi OS would be a great choice for that kind of a PC, maybe even the 64-bit version, but if you have to run multiple programs and you want to make sure you don't easily end up swapping, 32-bit software takes the RAM usage down a few notches and you can do almost every kind of task you need, especially for such a low-priced hardware.

                  And to be fair, with a SoC running on 2W, it's also a cheap to operate PC, saving a lot of money on the electricity bill compared to other options. So at least there's a positive. But other than that, 32-bit software is the better choice if you want to prolong the lifetime of such a device.

                  Comment


                  • Originally posted by kneekoo View Post

                    Swapping on flash memory is a terrible idea, especially on cheap hardware, which is the target of those RAM-limited laptops. And again, the point I was making there is that not everyone knows how to shop for hardware, and some people actually have little money to spend on computers. And even today, people can buy this kind of hardware, brand new.

                    Here's one example that costs $200: https://www.amazon.com/10-1Inch-Grap...dp/B086LB6FVW/

                    It's a cheap and fully functional PC, you can do a lot of things with it, but the RAM limitation is pretty bad.
                    CPU: Intel Atom x5-Z8350 quad core 64-bit, Secure Boot, AES-NI and VT-x (you can even run retro VMs)
                    RAM: 2GB maximum
                    Storage: 32GB eMMC

                    Apart from the write cycle limit that flash memory has, eMMC is also not great because the more you use it, the slower it becomes, so swapping both shortens its lifetime and performance. And running a desktop OS and browsing the web requires some RAM. The Raspberry Pi OS would be a great choice for that kind of a PC, maybe even the 64-bit version, but if you have to run multiple programs and you want to make sure you don't easily end up swapping, 32-bit software takes the RAM usage down a few notches and you can do almost every kind of task you need, especially for such a low-priced hardware.

                    And to be fair, with a SoC running on 2W, it's also a cheap to operate PC, saving a lot of money on the electricity bill compared to other options. So at least there's a positive. But other than that, 32-bit software is the better choice if you want to prolong the lifetime of such a device.
                    I have 4gb of swap on my lenovo n22 and its been used like that since it was new, i still use the machine lots to this day, and it uses swap quite often. I have a few kingston 128gb SSDnow from 2011 in the same situation. flash storage is no where near as fragile as most people make it out to be. swapping on flash is perfectly fine

                    Comment


                    • Originally posted by rmoog View Post

                      and amd64
                      You know what CPUs are coverage by i586 and i686, right?

                      Comment

                      Working...
                      X