Slashdot Mirror


Why Linus Torvalds Prefers x86 Over ARM (pcworld.com)

Linus Torvalds answered a question about his favorite chip architecture at the Linaro Connect conference. An anonymous Slashdot reader quotes PCWorld: People are too fixated with the instruction set and the CPU core, Torvalds said. But ultimately "what matters is all the infrastructure around the instruction set, and x86 has all that infrastructure... at a lot of different levels. It's open in a way that no other architecture is... Being compatible just wasn't as big of a deal for the ARM ecosystem as it has been traditionally for the x86 ecosystem... I've been personally pretty disappointed with ARM as a hardware platform, not as an instruction set, though I've had my issues there, too. As a hardware platform, it is still not very pleasant to deal with."
You can watch the whole half-hour conversation on YouTube. My favorite part is where Linus candidly acknowledges that "sometimes my grumpiness makes more news than my being nice... 99% of the time I'm a very happy manager, and I mentally pat people on the head all the time. That maybe then highlights the times when things don't work so well a bit more."

9 of 150 comments (clear)

  1. Re:Well... he has a point on all fronts. by AmiMoJo · · Score: 5, Interesting

    As Linus says, the main issue with ARM is not the CPU core but all the other stuff you need to make a computer. On x86 most of it has become standardized, even if the standards are terrible. On ARM manufacturers do their own thing and produce a "board support package" (BSP) that provides semi-standard interfaces to it, but of course it's a pain for an open OS like Linux to deal with and many of them are not interested in providing enough documentation for native drivers to be written.

    ARM is kind of a pain in the arse to do low level development for due to the BSP stuff, but on the other hand in the low power/low cost segments x86 isn't even a player. You can get low end ARM parts for less than a Euro. If they were not such a bugger to work with they would be displacing 8 bit parts at a much greater rate, but 8 bit's simplicity keeps it popular.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  2. ARM driver vendor code is atrocious by nyet · · Score: 5, Insightful

    There is no reason to coddle developers who write shit code.

    And make no mistake, ARM driver developers employed by ARM vendors are truly horrifyingly bad programmers.

    1. Re:ARM driver vendor code is atrocious by arglebargle_xiv · · Score: 5, Interesting

      It's not just the code, it's the hardware environment as a whole. Every single freaking ARM SoC is a custom special-snowflake device with its own special-case add-on IP cores, Chinese-menu instruction set (we'll do this extension, and that one, but not that one over there, and the config register read that tells you whether it's available is privileged to it'll trigger an exception if you try and read it), undocumented memory-mapped crap, or a 1,000-page manual with partial documentation which in any case changes completely if you order an XYZb rather than an XYZa even though it's the same family from the same manufacturer. Just the perfect environment for vendor lock-in, but terrible for devs.

  3. Re:Fitting by ShanghaiBill · · Score: 5, Insightful

    I guess it's fitting that he doesn't realize patting someone on the head is a condescending gesture.

    That is culture dependent. In some cultures patting, or even touching, someone's head is offensive. In other cultures, it means nothing.

    I have met Linus a few times on a person-to-person level, and he was always friendly and considerate. Tove is also a very nice person.

  4. Re:Well... he has a point on all fronts. by Guy+Harris · · Score: 5, Insightful

    Well... he has a point on all fronts.

    1) x86 is so backward compatible it's... grand. Except for legacy bugs to push forward

    2) ARM is, or rather, was, not afraid to put efficiency above complete and total backward compatibility

    Except what he was really talking about was x86-based "IBM-compatible personal computers", which have, in at least some layers other than the instruction set, a lot of similarity, vs. ARM-based {smartphones, tablets, embedded systems, etc.}, where everything other than the CPU may be significantly different from system to system.

    That has nothing to do with the instruction sets, it has to do with the fact that x86 got its big boost from the IBM PC and the clones of it, which were all pretty similar machines so that MS-DOS and its successors would Just Work on them, while ARM got its big boost from phones/tablets/embedded boxes, where the vendor supplied some or all of the OS, and they didn't care much about having to tweak the OS for the next machine.

  5. He is dead right for PCs, Dead wrong for embedded. by thesupraman · · Score: 5, Insightful

    As usual Linus is talking 'general' but thinking focused.
    What he is actually talking about is high level computers (which these days includes smartphones, tablets, etc however there is a little
    more crossover there).
    Where he has no knowledge, understanding, or consideration is lower level applications - ie :embedded.
    Arms flexibility, and tendency to closely integrate hardware at the low level makes it is fantastic micro CONTROLLER implementation in general.
    The STM32 series are a great example of this, and it is an area that Intel seems to have lost the plot on. Despite Intels gushing money from time
    to time into such areas, very very few would touch them with a barge pole. Their IO infrastructure is just TOO complex and unnecessary for such
    applications (no one there uses PCIe, etc. Even USB tends to emulate a serial device).

    In the mid range - ie: cellphone, tablet, etc ARM Chip sellers integration is great, however their documentation is TERRIBLE, and they do not seem to understand that open hardware specifications are gold (I am looking at you allwinner, rockchip, amlogic, himedia, mediatek, etal) and who dont seem to realise that sharing that knowledge gets a LOT more developers on side (or possibly hide it because of IP fears... who can be sure). There are vendors without
    such problems however (generally but not exclusively the non-chinese chip makers).

    In the high end - PCs, Servers, etc. well, thats a mess right now. Perhaps AMD etc will help sort it out, or perhaps not.

    In the end, ARM makes sense in a whole lot of niches, however not really those Linux focuses on - his primary focus has always been large server and workstation hardware, an area ARM is only just starting to overlap into in a small way.

    So, what he says is factual in one area, but that area is a niche to arm, and a stronghold of Intel, so is it really a surprise?

  6. Re:Grumpy Old Man by Anonymous Coward · · Score: 5, Insightful

    Grumpy dude is grumpy for a reason, and the ARM world not being a platform but a collection of one-of devices is part of that reason. Have you never wondered why there isn't an installer for Android which you can use to install a fresh OS on any ARM phone? That's what Linus is talking about: There is no ARM platform which would enable this. That's why Android is a firmware construction kit, not an installable OS, a fact that I have been preaching for several years. If ARM wastes more time, Intel will eventually usurp the mobile market by being more "compatible".

  7. Re:Grumpy Old Man by Anonymous Coward · · Score: 5, Insightful

    That's because you're too soft and your ego writes checks your intellect can't cash.

  8. Re:He is dead right for PCs, Dead wrong for embedd by ttucker · · Score: 5, Informative

    It is actually also a major problem for many embedded devices. Have you really looked at the DD-WRT project lately? It is completely dead, largely due to the lack of a common platform. My embedded router is in the rubbish heap now, we have switched to an x86 device running normal Linux...