Lucid SRU, CONFIG_NR_CPUS=256, LP706058

Stefan Bader stefan.bader at canonical.com
Mon Jan 24 09:11:15 UTC 2011


Seems a reasonable enablement change for the server flavour.


On 01/21/2011 09:30 PM, Tim Gardner wrote:
> The following changes since commit b09a4b6f2843b58a420fa6b75c991c1ed5defe92:
>   Greg Kroah-Hartman (1):
>         Linux 2.6.32.28
> 
> are available in the git repository at:
> 
>   git://kernel.ubuntu.com/rtg/ubuntu-lucid.git nr_cpus_256_lp706058
> 
> Tim Gardner (1):
>       UBUNTU: [Config] Set CONFIG_NR_CPUS=256 for amd64 server
> 
>  debian.master/config/amd64/config.common.amd64    |    1 -
>  debian.master/config/amd64/config.flavour.generic |    1 +
>  debian.master/config/amd64/config.flavour.preempt |    1 +
>  debian.master/config/amd64/config.flavour.server  |    1 +
>  4 files changed, 3 insertions(+), 1 deletions(-)
> 
> From 5d57615ee98ce183935a373c5750b14c32f2d877 Mon Sep 17 00:00:00 2001
> From: Tim Gardner <tim.gardner at canonical.com>
> Date: Fri, 21 Jan 2011 13:05:17 -0700
> Subject: [PATCH] UBUNTU: [Config] Set CONFIG_NR_CPUS=256 for amd64 server
> 
> BugLink: http://bugs.launchpad.net/bugs/706058
> 
> 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
> kernel/cpu.c:static DECLARE_BITMAP(cpu_possible_bits, CONFIG_NR_CPUS) __read_mostly;
> kernel/cpu.c:static DECLARE_BITMAP(cpu_online_bits, CONFIG_NR_CPUS) __read_mostly;
> kernel/cpu.c:static DECLARE_BITMAP(cpu_present_bits, CONFIG_NR_CPUS) __read_mostly;
> kernel/cpu.c:static DECLARE_BITMAP(cpu_active_bits, CONFIG_NR_CPUS) __read_mostly;
> kernel/sched.c: DECLARE_BITMAP(cpus, CONFIG_NR_CPUS);
> kernel/sched.c: DECLARE_BITMAP(span, CONFIG_NR_CPUS);
> kernel/sched.c: static DECLARE_BITMAP(tmpmask, CONFIG_NR_CPUS);
> mm/slub.c:static DECLARE_BITMAP(kmem_cach_cpu_free_init_once, CONFIG_NR_CPUS);
> 
> 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.
> 
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---
>  debian.master/config/amd64/config.common.amd64    |    1 -
>  debian.master/config/amd64/config.flavour.generic |    1 +
>  debian.master/config/amd64/config.flavour.preempt |    1 +
>  debian.master/config/amd64/config.flavour.server  |    1 +
>  4 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/debian.master/config/amd64/config.common.amd64 b/debian.master/config/amd64/config.common.amd64
> index f2352c8..cd2cc3a 100644
> --- a/debian.master/config/amd64/config.common.amd64
> +++ b/debian.master/config/amd64/config.common.amd64
> @@ -97,7 +97,6 @@ CONFIG_MTD_SLRAM=m
>  CONFIG_NDISWRAPPER=m
>  CONFIG_NFTL=m
>  CONFIG_NO_HZ=y
> -CONFIG_NR_CPUS=64
>  CONFIG_OUTPUT_FORMAT="elf64-x86-64"
>  CONFIG_PARPORT=m
>  CONFIG_PCCARD=m
> diff --git a/debian.master/config/amd64/config.flavour.generic b/debian.master/config/amd64/config.flavour.generic
> index 650ae59..89668a2 100644
> --- a/debian.master/config/amd64/config.flavour.generic
> +++ b/debian.master/config/amd64/config.flavour.generic
> @@ -8,6 +8,7 @@ CONFIG_HZ=100
>  CONFIG_HZ_100=y
>  # CONFIG_HZ_1000 is not set
>  # CONFIG_MEMORY_HOTPLUG is not set
> +CONFIG_NR_CPUS=64
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_NONE is not set
>  CONFIG_PREEMPT_VOLUNTARY=y
> diff --git a/debian.master/config/amd64/config.flavour.preempt b/debian.master/config/amd64/config.flavour.preempt
> index becca6f..968f1eb 100644
> --- a/debian.master/config/amd64/config.flavour.preempt
> +++ b/debian.master/config/amd64/config.flavour.preempt
> @@ -8,6 +8,7 @@ CONFIG_HZ=1000
>  # CONFIG_HZ_100 is not set
>  CONFIG_HZ_1000=y
>  # CONFIG_MEMORY_HOTPLUG is not set
> +CONFIG_NR_CPUS=64
>  CONFIG_PREEMPT=y
>  # CONFIG_PREEMPT_NONE is not set
>  # CONFIG_PREEMPT_VOLUNTARY is not set
> diff --git a/debian.master/config/amd64/config.flavour.server b/debian.master/config/amd64/config.flavour.server
> index 8d734fb..75fcc3e 100644
> --- a/debian.master/config/amd64/config.flavour.server
> +++ b/debian.master/config/amd64/config.flavour.server
> @@ -8,6 +8,7 @@ CONFIG_HZ=100
>  CONFIG_HZ_100=y
>  # CONFIG_HZ_1000 is not set
>  CONFIG_MEMORY_HOTPLUG=y
> +CONFIG_NR_CPUS=256
>  # CONFIG_PREEMPT is not set
>  CONFIG_PREEMPT_NONE=y
>  # CONFIG_PREEMPT_VOLUNTARY is not set





More information about the kernel-team mailing list