LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: travis@sgi.com To: Andrew Morton <akpm@linux-foundation.org>, Andi Kleen <ak@suse.de>, mingo@elte.hu Cc: Christoph Lameter <clameter@sgi.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/5] x86: Add config variables for SMP_MAX Date: Fri, 18 Jan 2008 10:30:15 -0800 [thread overview] Message-ID: <20080118183011.917801000@sgi.com> (raw) In-Reply-To: 20080118183011.354965000@sgi.com [-- Attachment #1: config-smp-max --] [-- Type: text/plain, Size: 2954 bytes --] Adds and increases some config variables to accomodate larger SMP configurations: NR_CPUS: max limit now 4096 NODES_SHIFT: max limit now 9 THREAD_ORDER: max limit now 3 X86_SMP_MAX: say Y to enable possible cpus == NR_CPUS Signed-off-by: Mike Travis <travis@sgi.com> --- arch/x86/Kconfig | 17 ++++++++++++++--- arch/x86/Kconfig.debug | 9 +++++++++ arch/x86/kernel/smpboot_64.c | 4 ++++ include/asm-x86/page_64.h | 4 ++++ 4 files changed, 31 insertions(+), 3 deletions(-) --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -487,19 +487,29 @@ config ARCH_SUPPORTS_KVM config NR_CPUS - int "Maximum number of CPUs (2-255)" - range 2 255 + int "Maximum number of CPUs (2-4096)" + range 2 4096 depends on SMP + default "1024" if X86_SMP_MAX default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000 default "8" help This allows you to specify the maximum number of CPUs which this - kernel will support. The maximum supported value is 255 and the + kernel will support. The maximum supported value is 4096 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. +config THREAD_ORDER + int "Kernel stack size (in page order)" + range 1 3 + depends on X86_64_SMP + default "3" if X86_SMP_MAX + default "1" + help + Increases kernel stack size. + config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on (X86_64 && SMP) || (X86_32 && X86_HT) @@ -882,6 +892,7 @@ config NUMA_EMU config NODES_SHIFT int + default "9" if X86_SMP_MAX default "6" if X86_64 default "4" if X86_NUMAQ default "3" --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug @@ -73,6 +73,15 @@ config X86_FIND_SMP_CONFIG depends on X86_LOCAL_APIC || X86_VOYAGER depends on X86_32 +config X86_SMP_MAX + bool "Enable Maximum SMP configuration" + def_bool n + depends on X86_64_SMP + help + Say Y here to enable a "large" SMP configuration for testing + purposes. It does this by increasing the number of possible + cpus to the NR_CPUS count. + config X86_MPPARSE def_bool y depends on (X86_32 && (X86_LOCAL_APIC && !X86_VISWS)) || X86_64 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c @@ -784,6 +784,10 @@ __init void prefill_possible_map(void) possible = num_processors + additional_cpus; if (possible > NR_CPUS) possible = NR_CPUS; +#ifdef CONFIG_SMP_MAX + if (possible < NR_CPUS) + possible = NR_CPUS; +#endif printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n", possible, --- a/include/asm-x86/page_64.h +++ b/include/asm-x86/page_64.h @@ -3,7 +3,11 @@ #define PAGETABLE_LEVELS 4 +#ifdef CONFIG_THREAD_ORDER +#define THREAD_ORDER CONFIG_THREAD_ORDER +#else #define THREAD_ORDER 1 +#endif #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) #define CURRENT_MASK (~(THREAD_SIZE-1)) --
next prev parent reply other threads:[~2008-01-18 18:34 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-01-18 18:30 [PATCH 0/5] x86: Reduce memory usage for large count NR_CPUs fixup travis 2008-01-18 18:30 ` [PATCH 1/5] x86: Change size of node ids from u8 to u16 fixup travis 2008-01-18 19:56 ` Jan Engelhardt 2008-01-18 19:59 ` Mike Travis 2008-01-19 4:03 ` Yinghai Lu 2008-01-19 4:36 ` David Rientjes 2008-01-19 4:43 ` Yinghai Lu 2008-01-19 5:17 ` David Rientjes 2008-01-19 6:20 ` Yinghai Lu 2008-01-19 21:25 ` Mike Travis 2008-01-19 22:33 ` David Rientjes 2008-01-20 0:41 ` Mike Travis 2008-01-20 1:31 ` Yinghai Lu 2008-01-20 6:22 ` David Rientjes 2008-01-18 18:30 ` [PATCH 2/5] x86: Change NR_CPUS arrays in numa_64 fixup travis 2008-01-18 18:30 ` [PATCH 3/5] x86: Change bios_cpu_apicid to percpu data variable fixup travis 2008-01-18 18:30 ` travis [this message] 2008-01-18 20:04 ` [PATCH 4/5] x86: Add config variables for SMP_MAX Ingo Oeser 2008-01-18 20:10 ` Christoph Lameter 2008-01-18 20:14 ` Mike Travis 2008-01-18 20:36 ` Andi Kleen 2008-01-18 20:48 ` Mike Travis 2008-01-18 21:02 ` [PATCH 4/5] x86: Add config variables for SMP_MAX II Andi Kleen 2008-01-18 20:48 ` [PATCH 4/5] x86: Add config variables for SMP_MAX Ingo Molnar 2008-01-18 20:55 ` Mike Travis 2008-01-18 20:58 ` Andi Kleen 2008-01-28 16:45 ` Paul Jackson 2008-01-28 17:00 ` Andi Kleen 2008-01-18 20:46 ` Ingo Molnar 2008-01-19 14:52 ` Ingo Molnar 2008-01-19 15:15 ` Ingo Molnar 2008-01-19 15:24 ` Ingo Molnar 2008-01-19 21:52 ` Mike Travis 2008-01-19 23:24 ` Mike Travis 2008-01-20 1:14 ` Mike Travis 2008-01-19 21:39 ` Mike Travis 2008-01-18 18:30 ` [PATCH 5/5] x86: Add debug of invalid per_cpu map accesses travis 2008-01-18 18:33 ` Andi Kleen 2008-01-18 18:49 ` Mike Travis 2008-01-18 18:56 ` Christoph Lameter 2008-01-18 20:49 ` Ingo Molnar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080118183011.917801000@sgi.com \ --to=travis@sgi.com \ --cc=ak@suse.de \ --cc=akpm@linux-foundation.org \ --cc=clameter@sgi.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mingo@elte.hu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).