Re: [PATCH 0/5] Support negative number of CPUs

From: Paul E. McKenney
Date: Wed Apr 01 2015 - 03:35:51 EST


On Wed, Apr 01, 2015 at 01:20:31AM +0200, Frederic Weisbecker wrote:
> 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.

For the series:

>moc.mbi.tenv.xunil@kcmluap< yenneKcM .E luaP :yb-deweiveR

> 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/