I disagree with Linus here, in large part because modern system architectures are so distributed. There are so many parts of modern deployments which are not developed in-house anymore. Databases, organizational productivity software, monitoring systems... the list goes on.
So let's say the developers of PostgreSQL or Prometheus or JIRA or Mattermost or any one of numerous others were to come to their audience and say, "we support ARM 100%, you can run our software on ARM in production with no issues, and in fact it's the favored deployment model because it'll cut a significant slice off your operating costs." Does Linus seriously think that, what, customers aren't going to run ARM servers because they can't run the vendor's binary on their development machines?
Maybe there's a chicken-or-the-egg problem here. But just off the bat, PostgreSQL and Prometheus are both supported and built for ARM. There are non-official binaries available for many other projects. Developers are using cheap Raspberry PIs as local desktop development platforms. The more development the ARM ecosystem sees, the easier it'll be for enterprises to justify moving away from x86.
> Developers are using cheap Raspberry PIs as local desktop development platforms.
IMHO this is still a problem, it is easy to get RPi-style devices but for development a more powerful device would be great, however this is much harder to get. Sure, cross-compilation works but is usually tedious to setup and work with.
I've had the chance to work on one of these powerful ARM servers for some time. I was connected via ssh and mostly working with tmux+vim, I could compile natively with all these available cores and memory - development was a breeze.
Nevertheless there were some pain points compared to x86: Often no ARM64 binary packages, except for the packages provided by the distro. No precompiled binaries. Software wasn't working/building e.g. because Fedora on ARM64 uses 64K page size. perf didn't support as many performance counters as on x86. Sometimes I would've really liked to use rr (the reverse debugger) but it only supports x86. Pretty sure I've encountered more pain points that I don't remember and also I think I didn't discover all of them.
Development is almost exclusively done on x86. So it is only natural that x86 is the most tested and optimized architecture. This wouldn't be a problem if your offering would be much better/cheaper in some way and although I think ARM servers can compete in certain areas it doesn't seem to provide enough benefit to be worth the trouble. I agree with Linus that they should be focusing on developers and software and let the machines bubble up into the server segment.
BTW: Fedora switched back to 4k pages a while back. The 64k page thing is one of those areas where ARM should have an advantage over x86, but so much software fails to work with 64k pages that its not yet worth it.
So, give fedora a try on aarch64 again, with F29, its almost at 100% package parity with x86 once you remove packages specific to x86. ARM/linaro/etc have been hard at work for the past few years getting the long tail of compilers/libraries working enough that all the higher level stuff has a change to generally work.
The perf thing is a problem because there are a lot of microarch specific counters, but frequently they don't get published by any particular cpu vendor. So, your left in the dark about them. The best solution at the moment is call your vendor and demand a more complete list.
There are more powerful ARM SBC boards out there.
Take a look at Pine64.org for example. They have a Rock64 board that supports up to 4 gig of RAM with quad core CPUs. They are under $50.
I personally would like to see an ARM competitor to the Intel NUC. 4GB and 4 cores sounds great but might not be enough for development or certain benchmarks. Something like 16GB RAM and at least 8 fast cores with a fast SSD should be enough. It seems that you can only get ~50$ devices or >2000$ servers (if they even sell single ones). I guess we have to wait for Apple to sell a MacBook with their own cpu.
The reality of multiple systems is that their stacks are always slightly out of sync even with full support and commitment. The most used system is always updated and fixed first.
So let's say the developers of PostgreSQL or Prometheus or JIRA or Mattermost or any one of numerous others were to come to their audience and say, "we support ARM 100%, you can run our software on ARM in production with no issues, and in fact it's the favored deployment model because it'll cut a significant slice off your operating costs." Does Linus seriously think that, what, customers aren't going to run ARM servers because they can't run the vendor's binary on their development machines?
Maybe there's a chicken-or-the-egg problem here. But just off the bat, PostgreSQL and Prometheus are both supported and built for ARM. There are non-official binaries available for many other projects. Developers are using cheap Raspberry PIs as local desktop development platforms. The more development the ARM ecosystem sees, the easier it'll be for enterprises to justify moving away from x86.