Speed Boost: The Linux Kernel Can Run On Zero CPU Cores

From Paul E. McKenney's mailing list message, "Although there have been numerous complaints about the complexity of parallel programming (especially over the past 5-10 years), the plain truth is that the incremental complexity of parallel programming over that of sequential programming is not as large as is commonly believed. Despite that you might have heard, the mind-numbing complexity of modern computer systems is not due so much to there being multiple CPUs, but rather to there being any CPUs at all. In short, for the ultimate in computer-system simplicity, the optimal choice is NR_CPUS=0. This commit therefore limits kernel builds to zero CPUs. This change has the beneficial side effect of rendering all kernel bugs harmless. Furthermore, this commit enables additional beneficial changes, for example, the removal of those parts of the kernel that are not needed when there are zero CPUs."
It's only about a 100 line article and covers Alpha, ARM, Blackfin, Hexagon, IA64, M32R, MIPS, MN10300, Parisc, PowerPC, S390, SPARC, TILE, and x86 architectures. The kernel config for the option now mentions zero CPUs will give you "ultimate reliability" and "minimize both memory footprint and bugs" and "Debloating is the way, NR_CPUS to zero today!!!"
Among the kernel developers commenting was AMD's Borislav Petkov who has confirmed this will work with AMD's upcoming CPU having zero CPU cores.
Before getting too worked up... Yes, this was an April Fools' Day kernel joke, unlike the Valve Linux stuff actually going down.
9 Comments