Maverick SRU, CONFIG_NR_CPUS=256, LP706058

Brad Figg brad.figg at canonical.com
Fri Jan 21 23:33:01 UTC 2011


On 01/21/2011 01:15 PM, Tim Gardner wrote:
> The following changes since commit fd6181c23bea04ff5a7e85cfaf8fdd7233ca2422:
>    Manoj Iyer (1):
>          Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15
>
> are available in the git repository at:
>
>    git://kernel.ubuntu.com/rtg/ubuntu-maverick.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.server  |    1 +
>   debian.master/config/amd64/config.flavour.virtual |    1 +
>   4 files changed, 3 insertions(+), 1 deletions(-)
>
>  From 4c706219417d6f8491a83f1095b5fee916a342cd Mon Sep 17 00:00:00 2001
> From: Tim Gardner<tim.gardner at canonical.com>
> Date: Fri, 21 Jan 2011 14:12:56 -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>
> ---
>   debian.master/config/amd64/config.common.amd64    |    1 -
>   debian.master/config/amd64/config.flavour.generic |    1 +
>   debian.master/config/amd64/config.flavour.server  |    1 +
>   debian.master/config/amd64/config.flavour.virtual |    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 ea071e8..c69bef4 100644
> --- a/debian.master/config/amd64/config.common.amd64
> +++ b/debian.master/config/amd64/config.common.amd64
> @@ -153,7 +153,6 @@ CONFIG_NET_TCPPROBE=m
>   CONFIG_NFTL=m
>   CONFIG_NOP_USB_XCEIV=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 4804006..5a7befd 100644
> --- a/debian.master/config/amd64/config.flavour.generic
> +++ b/debian.master/config/amd64/config.flavour.generic
> @@ -6,6 +6,7 @@ CONFIG_DEFAULT_CFQ=y
>   CONFIG_DEFAULT_IOSCHED="cfq"
>   CONFIG_INTEL_IDLE=y
>   # CONFIG_MEMORY_HOTPLUG is not set
> +CONFIG_NR_CPUS=64
>   # CONFIG_PREEMPT_NONE is not set
>   CONFIG_PREEMPT_VOLUNTARY=y
>   CONFIG_SCSI_SPI_ATTRS=m
> diff --git a/debian.master/config/amd64/config.flavour.server b/debian.master/config/amd64/config.flavour.server
> index b69832c..4a1556f 100644
> --- a/debian.master/config/amd64/config.flavour.server
> +++ b/debian.master/config/amd64/config.flavour.server
> @@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEADLINE=y
>   CONFIG_DEFAULT_IOSCHED="deadline"
>   CONFIG_INTEL_IDLE=y
>   CONFIG_MEMORY_HOTPLUG=y
> +CONFIG_NR_CPUS=256
>   CONFIG_PREEMPT_NONE=y
>   # CONFIG_PREEMPT_VOLUNTARY is not set
>   CONFIG_SCSI_SPI_ATTRS=y
> diff --git a/debian.master/config/amd64/config.flavour.virtual b/debian.master/config/amd64/config.flavour.virtual
> index 217ed9a..d67df42 100644
> --- a/debian.master/config/amd64/config.flavour.virtual
> +++ b/debian.master/config/amd64/config.flavour.virtual
> @@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEADLINE=y
>   CONFIG_DEFAULT_IOSCHED="deadline"
>   # CONFIG_INTEL_IDLE is not set
>   CONFIG_MEMORY_HOTPLUG=y
> +CONFIG_NR_CPUS=64
>   CONFIG_PREEMPT_NONE=y
>   # CONFIG_PREEMPT_VOLUNTARY is not set
>   CONFIG_SCSI_SPI_ATTRS=y

Acked-by: Brad Figg <brad.figg at canonical.com>

-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list