It's well known Linux and ARM developers have clashed over the past few months over how best to support ARM in the Linux kernel. ITworld blogger Brian Proffitt describes the problem as a "United Nations-level complexity of the forks in the ARM section of the Linux kernel." Linux creator Linus Torvalds threatened to stop accepting ARM-related changes to the mainline Linux kernel.
Even at the 20th anniversary celebration of Linux today, Torvalds addressed the issue.
"When I start to scream at people, that's a bad sign," Torvalds said during a talk he gave along with Linux driver project leader Greg Kroah-Hartman at LinuxCon in Vancouver.
A lack of standardization among ARM devices has made it difficult to ensure that Linux can properly support ARM hardware. ARM, a low-power platform popular in embedded systems, cell phones and tablets, would do well to imitate its older brother, the PC, Torvalds said.
"I think ARM is a very promising platform," he said. "At the same time, the ARM community has never had the notion of a standard platform. ARM never had the PC."
While Torvalds noted that "a lot of people love to hate the PC," the fact that Intel, AMD and hardware makers worked on building a common infrastructure "made it very efficient and easy to support." That's important when you think about the hundreds and thousands of drivers necessary for software and hardware to work nicely together.
"ARM is missing it completely," Torvalds said. "ARM is this hodgepodge of five or six major companies and tens of minor companies making random pieces of hardware, and it looks like they're taking hardware and throwing it at a wall and seeing where it sticks, and making a chip out of what's stuck on the wall."
Linux and ARM developers are working together, and Torvalds expressed cautious optimism.
"On the kernel side, we try to support a lot of the ARM architecture," he said. "We don't quite know what the solution is yet, it's being worked on."
Torvalds discussed numerous other issues, including Linux's support for everything from embedded platforms to supercomputers, the possible downfall of Moore's Law, and his day-to-day involvement with the Linux kernel.
In the past, Linux kernel developers have considered splitting development, essentially creating different kernels for different types of hardware. Several years ago when "people were starting to talk about running Linux on machines with more than 1,000 CPUs, I was like 'go off guys and do your own thing.'"
But Torvalds ultimately decided that "it's a stupid idea to create a separate kernel for embedded and high-end because you lose all these interesting crossover pollinations."
For example, advancements in power management on mobile devices could benefit giant servers, which deal with the same problem on a totally different scale. Supporting so many types of devices with a single kernel occasionally necessitates some code cleanup, but Torvalds notes "that cleanup usually helped both parties anyway."
On Moore's Law, Torvalds predicted that it "will hit a wall in ten years." He admitted that many people have predicted the end of Moore's Law before him and been wrong, but nonetheless said a lot of new questions will be raised if hardware capabilities stop doubling every year or two and increase only incrementally.
"It's going to change how you sell hardware," he said. "It's certainly going to change how we develop software. If we can't just assume its a little bit sluggish today but I'll have a new machine tomorrow that will fix performance problems, you have to look at performance in a different way too."
While Torvalds is still in charge of the Linux kernel that he created and named after himself, he said he is "pretty far removed from the actual day to day development."
Torvalds spends lots of time on email, suggesting sample code to developers who are looking for solutions to problems, but said "very few commits of mine make it into the kernel."
Kroah-Hartman presented Torvalds with a two-decade-old bottle of Whiskey to commemorate the kernel's birthday. Torvalds also showed his humorous side in "complimenting" application developers, saying they "are really important. They may be weenies, they're not real men, like kernel developers, but in the end it's how you actually get users so we should be thankful for these pitiful creatures."
Torvalds also said the next version of Linux will be #3.1, "which some people asked me to skip because it brings back bad memories."
Obviously referring to Windows 3.1, and the followup Windows for Workgroups 3.11, Torvalds joked that Linux 3.11 will be named "Linux for Workgroups."