[PATCH 0/5] Support negative number of CPUs

From: Frederic Weisbecker
Date: Tue Mar 31 2015 - 19:20:50 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/