Support for machines without any CPU at all was brought 3 years ago by Paul (https://lkml.org/lkml/2012/3/31/131). The goal was to reduce the complexity of programming on modern computing.
Now meeting the simplicity beyond that of sequential programming had a cost: such hardware configuration found a user base but didn't meet much success among HPC users. So we have now a new challenge to solve: keep the beyond-sequential programming simplicity while providing a highly parallel processing that still scale. This patchset proposes a solution. The support for negative number of CPUs is able to help scale computing up to O(-NR_CPUS). The more you have CPUs the higher you scale, to the point that software execution should complete before you start writing that software (assuming you have around -1024 CPUs). And programming gets even more simple because you have lesser CPUs to handle. Now keep in mind this patchset is only a draft. Not build tested and I don't have the hardware yet. Frederic Weisbecker (5): cpu: Infrastructure for negative cpu handling smp: IPI handling for negative CPU cpumask: Basic negative number of CPUs handling init: Support negative CPUs boot and halt code x86: Support reverse execution arch/x86/kernel/cpu/negative.c | 28 ++ arch/x86/kernel/head64.c | 4 + arch/x86/kernel/reboot.c | 8 + include/linux/cpumask.h | 48 +++ init/main.c | 7 + kernel/cpu_neg.c | 791 +++++++++++++++++++++++++++++++++++++++++ kernel/smp.c | 38 +- 7 files changed, 920 insertions(+), 4 deletions(-) create mode 100644 arch/x86/kernel/cpu/negative.c create mode 100644 kernel/cpu_neg.c -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/