diff mbox

[1/2] build: introduce CONFIG_NR_CPUS in Kconfig

Message ID 1452295045-30903-1-git-send-email-cardoe@cardoe.com (mailing list archive)
State New, archived
Headers show

Commit Message

Doug Goldstein Jan. 8, 2016, 11:17 p.m. UTC
Introduce an option where the user can modifiy the maximum number of
supported physical CPUs.

CC: Ian Campbell <ian.campbell@citrix.com>
CC: Stefano Stabellini <stefano.stabellini@citrix.com>
CC: Keir Fraser <keir@xen.org>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
This patch can probably be squashed together with the next one but I
broke it out with the hope that someone can check the wording on the
option and also double check the range.
---
 xen/arch/Kconfig     | 8 ++++++++
 xen/arch/arm/Kconfig | 2 ++
 xen/arch/x86/Kconfig | 2 ++
 3 files changed, 12 insertions(+)
 create mode 100644 xen/arch/Kconfig

Comments

Andrew Cooper Jan. 9, 2016, 1:43 p.m. UTC | #1
On 08/01/2016 23:17, Doug Goldstein wrote:
> Introduce an option where the user can modifiy the maximum number of
> supported physical CPUs.
>
> CC: Ian Campbell <ian.campbell@citrix.com>
> CC: Stefano Stabellini <stefano.stabellini@citrix.com>
> CC: Keir Fraser <keir@xen.org>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> ---
> This patch can probably be squashed together with the next one but I
> broke it out with the hope that someone can check the wording on the
> option and also double check the range.
> ---
>  xen/arch/Kconfig     | 8 ++++++++
>  xen/arch/arm/Kconfig | 2 ++
>  xen/arch/x86/Kconfig | 2 ++
>  3 files changed, 12 insertions(+)
>  create mode 100644 xen/arch/Kconfig
>
> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
> new file mode 100644
> index 0000000..791d577
> --- /dev/null
> +++ b/xen/arch/Kconfig
> @@ -0,0 +1,8 @@
> +
> +config NR_CPUS
> +	int "Maximum number of CPUs"
> +	range 1 4095

4094

Recursive spinlocks have 12 bit bitfield for cpu, using -1 as a sentinel.

There might be other restrictions, but none currently come to mind.

> +	default "256" if X86
> +	default "128" if ARM
> +	---help---
> +	  Specifies the maximum number of CPUs which Xen will support.

"of physical CPUs"

This will help avoid confusion with virtual cpu limits.

~Andrew
Jan Beulich Jan. 11, 2016, 2:15 p.m. UTC | #2
>>> On 09.01.16 at 14:43, <andrew.cooper3@citrix.com> wrote:
> On 08/01/2016 23:17, Doug Goldstein wrote:
>> Introduce an option where the user can modifiy the maximum number of
>> supported physical CPUs.
>>
>> CC: Ian Campbell <ian.campbell@citrix.com>
>> CC: Stefano Stabellini <stefano.stabellini@citrix.com>
>> CC: Keir Fraser <keir@xen.org>
>> CC: Jan Beulich <jbeulich@suse.com>
>> CC: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
>> ---
>> This patch can probably be squashed together with the next one but I
>> broke it out with the hope that someone can check the wording on the
>> option and also double check the range.
>> ---
>>  xen/arch/Kconfig     | 8 ++++++++
>>  xen/arch/arm/Kconfig | 2 ++
>>  xen/arch/x86/Kconfig | 2 ++
>>  3 files changed, 12 insertions(+)
>>  create mode 100644 xen/arch/Kconfig
>>
>> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
>> new file mode 100644
>> index 0000000..791d577
>> --- /dev/null
>> +++ b/xen/arch/Kconfig
>> @@ -0,0 +1,8 @@
>> +
>> +config NR_CPUS
>> +	int "Maximum number of CPUs"
>> +	range 1 4095
> 
> 4094
> 
> Recursive spinlocks have 12 bit bitfield for cpu, using -1 as a sentinel.

range 1 4095 means CPUs 0...4094, i.e. afaict the range above is
correct.

Jan
diff mbox

Patch

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
new file mode 100644
index 0000000..791d577
--- /dev/null
+++ b/xen/arch/Kconfig
@@ -0,0 +1,8 @@ 
+
+config NR_CPUS
+	int "Maximum number of CPUs"
+	range 1 4095
+	default "256" if X86
+	default "128" if ARM
+	---help---
+	  Specifies the maximum number of CPUs which Xen will support.
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2cab17b..60e923c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -31,6 +31,8 @@  config ARCH_DEFCONFIG
 
 menu "Architecture Features"
 
+source "arch/Kconfig"
+
 # Select HAS_GICV3 if GICv3 is supported
 config HAS_GICV3
 	bool
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 7d2ed96..e1c03bb 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -25,6 +25,8 @@  config ARCH_DEFCONFIG
 
 menu "Architecture Features"
 
+source "arch/Kconfig"
+
 endmenu
 
 source "common/Kconfig"