Maverick SRU, CONFIG_NR_CPUS=256, LP706058

Tim Gardner timg at tpi.com
Fri Jan 21 21:15:42 UTC 2011


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
-- 
1.7.0.4





More information about the kernel-team mailing list