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

From: Borislav Petkov
Date: Wed Apr 01 2015 - 05:39:16 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.
>
> 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

I have been wanting a feature like that since forever! Thanks for doing
this Frederic.

I'd like to propose an addition to that feature: execute whole programs
backwards. But should be easily doable with patch 5 in the series.

Acked-by: Borislav Petkov <bp@xxxxxxxxxxx>

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
--
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/