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."
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."
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
3) He get's a whole lot of news for being an ass. And that may help /. because I always come here to see the comments after news of a Linus blowup. It's awesome, coming from a multi-disciplinary background where job A's culture is nothing like job B... but oh, would it be great to combine the two! Billion-dollar sovereign debt deals and computer science. I wanna be able to yell at these geniuses like those assholes yell at those assholes. Uh... makes me get all warm down there.
What you are saying here is the rock equivalent Van Halen should fire Eddie Van Halen. Things that just cannot happen. It just wouldn't be right, you know?
You can't fire the dictator.
I guess it's fitting that he doesn't realize patting someone on the head is a condescending gesture.
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.
As usual Linus is talking 'general' but thinking focused. :embedded.
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
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?
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".
Android suffers this very issue, where you end up needing a bytecode VM (Dalvik) just to ensure compatibility across devices. This doesn't mean that the ARM instruction set isn't a joy to work on though.
He's indeed talking about desktop and mobile devices though, where this is an issue.
Can we also light a candle for Cyrix?
You can't fire the dictator.
But you can emigrate. "Of course it runs NetBSD!"
there are also really shitty chunks that appear to have been written by people under the influence of [...] -PCP
Indeed.
He is talking about THE LINUX KERNEL which runs on more than desktops and mobile devices. how can you comment on things like this with your deficient ability to comprehend basic information?
Chill down son. Like it or not, mobile device are by far the largest Linux install base in the world, with roughly 80% of all phones sold each year running Android (meaning Linux on ARM). This is orders of magnitude above desktops, let alone embedded devices. As the head kernel maintainer rest assured, the guy is plenty aware of the shortcomings of that platform.
That's because you're too soft and your ego writes checks your intellect can't cash.
Though I'm sure he is talking about PCs exclusively, you're right. I think ARM is absolutely dominating in the microcontroller department.
I see very little reason to go back to 8-bit AVRs.
One chip was designed to be very powerful and work well.
Another chip was designed to be new, better, cheaper. The option is to have other closed hardware do graphics, sound and other tasks.
Years later the different design ideas are back on the desktop again.
Do applications want one good chip that is well understood or a cheap chip that locks in a generation to other deeper hardware to get the same performance.
Nice if you have a closed OS, online shop, can alter app code standards and can command developers to accept for profit changes.
Domestic spying is now "Benign Information Gathering"
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...
I am probably not the only one that has a drawer full of devices and SOCs with ARM processors on them that I thought would be more useful than they turned out to be. There's nothing wrong with the ARM processor itself, it's just the funky bootloaders and proprietary peripherals with proprietary firmware, and custom kernels that make them a lot less useful to me than if someone made a little x86 SOC with a full complement of I/O pins (including a ADC) with a normal EFI/BIOS.
For some things like my router/firewall, I thought a little ARM-based device would be perfect, but it turned out that a Intel NUC with an micro SD card ended up being easier to deal with (though an order of magnitude more expensive). Easier to keep updated, and can run a stock distro.
I just saw that GlobalScale is producing a new ARM board aimed at networking, which looks interesting, but it's the nearly the same hardware as their old Plug computer products (only 1.2 GHz but with a lot more RAM), married to a 3-port gigabit switch fabric. Still means dealing with a custom/proprietary uboot loader, flashing kernels, etc. Not something I care to deal with anymore.
Of course other devices are different and easy to boot off an SD card. But that's the problem, isn't it. There's no such thing as an ARM version of Debian that runs on all ARM devices. We have to have custom spins for each board. They may as well be their own complete platform, which is impossible for Linus and crew to deal with. So we have to rely on vendors to supply custom versions of the kernel and matching distro.
Anyone can fork Linux.
That said I think a lot of people agree with, and trust Linus: He's not a politician. He's a good engineer.
A lot of people have a hard time accepting that fact.
It's not about what you know. It's all about what you realize that you don't know.
Eat the rich.
If ARM wastes more time, Intel will eventually usurp the mobile market by being more "compatible".
Um, what percentage of phone buyers do you think are interested in their phone being a fully open hardware platform? Don't get me wrong I'd love it to exist, but people aren't going to abandon closed-source SoC based phones because of it.
"Have you really looked at the DD-WRT project lately? It is completely dead, largely due to the lack of a common platform."
That's a tiny part of it. The _other_ part of it is that (fancy management GUI aside) OpenWRT kicked the everloving shit out of DD-WRT in terms of capabilities and code quality for _years_. DD-WRT was _dead_ eight years ago... it just couldn't compete with OpenWRT.
That was certainly true in the ARMv4-5 time. It's somewhat true for ARMv6. For ARMv7 and ARMv8, it's far less true. There's a lot of standardisation of bootloaders, interrupt controllers, and so on, to the extent that FreeBSD is now able to ship a single kernel for relatively modern (RPi and newer) ARM devices that selects drivers based on the FDT or ACPI in the same way that the x86 kernel does with ACPI.
I am TheRaven on Soylent News
Basically the various ARM Eco system now is pretty much the same as the personal computer Eco system back before the IBM Contemptible came along with tones of people going hey buy my proprietary box!
Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.
Surely the problem is the whole architecture then?
x86 etc. is an architecture - a standard chip, a standard instruction set (even if it evolves), and a standard set of interfaces, memory locations, hardware and functions.
ARM is just a chip.
x86 has common platforms like UEFI and even BIOS, as well as standard buses and standard interfaces.
ARM doesn't. At least not enough to guarantee.
It's like saying you've released Linux for Z80. Cool. What's the Z80 plugged into because that's by no means a given in any way.
Nobody really puts x86 chips into embedded hardware without replicating the entire x86 architecture (e.g. XBox). But ARM chips can be joined in all kinds of ways and all kinds of free-for-all designs.
It's not a problem you can solve with just a boot menu and a USB.
God DAMN; mod the hell up!
Your point is entirely orthogonal to the matter at hand: we engineers and "techie types" are discussing Linus' thoughts on the viability of Android as a platform; what the [fucking ignorant] consumer thinks is certainly relevant to some discussions... but not this one.
If ARM wastes more time, Intel will eventually usurp the mobile market by being more "compatible".
Um, what percentage of phone buyers do you think are interested in their phone being a fully open hardware platform? Don't get me wrong I'd love it to exist, but people aren't going to abandon closed-source SoC based phones because of it.
What will likely eventually happen (hopefully) is that designers will tire of re-inventing the wheel every time a new product cycle comes around and eventually move to the more open/supported architectures, not because they're technically superior in power consumption or whatever, but because they're good enough and they're easier to develop on.
Just get emacs to run on top of it, and you'll have a full OS, neatly sidestepping the controversy over Linux vs BSD vs Minix
He was guillotined, not fired. Big difference!
So he is the Trump of software?
Don't forget Winchip
If ARM wastes more time, Intel will eventually usurp the mobile market by being more "compatible".
Um, what percentage of phone buyers do you think are interested in their phone being a fully open hardware platform? Don't get me wrong I'd love it to exist, but people aren't going to abandon closed-source SoC based phones because of it.
Non sequitur. What matters is not what the customers want (or know), but the costs associated with developing in a platform. Someone has to build shit, and if the platform is fragmented, well, then that adds up to the cost, doesn't?
Both Intel and [most of the] ARM [community] are guilty of bundling opaque processor controls, and the i386/ARM architectures cannot be trusted as the opaque components have unrestricted access to networking, memory, and i/o.
It appears that the best "open" CPU architecture is the decade-old SPARC T2 - the full Verilog source for the CPU is provided, and there is no "management engine."
Unfortunately, no "Raspberry Pi" or otherwise reduced form-factor board is available on the market at this time. If you want to run a SPARC T2, you will likely have to purchase a used Netra server.
Agreed- today in ARMv8 land, it's actually not too bad to work with at all at low-level.
Before ARMv7, it will still common to find vendor-specific MMU implementations (fucking kill me)
Linus' argument will wash anyone who's worked with ARM since the early days with nostalgia and nausea. They know what he's talking about.
But it just really isn't the case these days.
There are like... 10 devices on the supported hardware list of those projects. Most of them are painfully obsolete. None of them are open hardware, and they probably run on reverse engineered firmware, and not actual clean open implementations.
Debin will run on almost any normal x86 PC from the past 20 years, and function quite adequately as a router with two NICs.
And the maintainers...