Impact: Servers with more then 64 logical CPUs cannot boot.
Patch Description: Increase CONFIG_NR_CPUS to 256 for the amd64 server flavour
The CPU hotplug subsytem allocates memory using the per-cpu mechanism. Enough memory is pre-defined by CONFIG_NR_CPUS to accommodate the maximum number of CPUs that can be online. This value is discovered at boot time and is used to trim the actual memory allocated to the real number of CPUs. In effect, CONFIG_NR_CPUS has little impact on memory consumption except for these 9 vairables:
The increase in memory size of these variables is negligible since they are bit map structures. For example, increasing from 64 to 256 only adds 24 bytes per variable.
SRU Justification
Impact: Servers with more then 64 logical CPUs cannot boot.
Patch Description: Increase CONFIG_NR_CPUS to 256 for the amd64 server flavour
The CPU hotplug subsytem allocates memory using the per-cpu mechanism. Enough memory is pre-defined by CONFIG_NR_CPUS to accommodate the maximum number of CPUs that can be online. This value is discovered at boot time and is used to trim the actual memory allocated to the real number of CPUs. In effect, CONFIG_NR_CPUS has little impact on memory consumption except for these 9 vairables:
kernel/cpu.c:static DECLARE_ BITMAP( cpu_possible_ bits, CONFIG_NR_CPUS) __read_mostly BITMAP( cpu_possible_ bits, CONFIG_NR_CPUS) __read_mostly; BITMAP( cpu_online_ bits, CONFIG_NR_CPUS) __read_mostly; BITMAP( cpu_present_ bits, CONFIG_NR_CPUS) __read_mostly; BITMAP( cpu_active_ bits, CONFIG_NR_CPUS) __read_mostly; BITMAP( cpus, CONFIG_NR_CPUS); BITMAP( span, CONFIG_NR_CPUS); BITMAP( tmpmask, CONFIG_NR_CPUS); BITMAP( kmem_cach_ cpu_free_ init_once, CONFIG_NR_CPUS);
kernel/cpu.c:static DECLARE_
kernel/cpu.c:static DECLARE_
kernel/cpu.c:static DECLARE_
kernel/cpu.c:static DECLARE_
kernel/sched.c: DECLARE_
kernel/sched.c: DECLARE_
kernel/sched.c: static DECLARE_
mm/slub.c:static DECLARE_
The increase in memory size of these variables is negligible since they are bit map structures. For example, increasing from 64 to 256 only adds 24 bytes per variable.