[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    [PATCH 0/5] Support negative number of CPUs
From:       Frederic Weisbecker <fweisbec () gmail ! com>
Date:       2015-03-31 23:20:31
Message-ID: 1427844036-1325-1-git-send-email-fweisbec () gmail ! com
[Download RAW message or body]

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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic