arm64: KVM: Add Kconfig option for max VCPUs per-Guest
authorAnup Patel <anup.patel@linaro.org>
Thu, 12 Dec 2013 16:12:22 +0000 (16:12 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Sat, 28 Dec 2013 10:28:50 +0000 (10:28 +0000)
Current max VCPUs per-Guest is set to 4 which is preventing
us from creating a Guest (or VM) with 8 VCPUs on Host (e.g.
X-Gene Storm SOC) with 8 Host CPUs.

The correct value of max VCPUs per-Guest should be same as
the max CPUs supported by GICv2 which is 8 but, increasing
value of max VCPUs per-Guest can make things slower hence
we add Kconfig option to let KVM users select appropriate
max VCPUs per-Guest.

Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/Kconfig

index 5d85a02d1231e9b6a3738e48cee574e19f987c6b..0a1d69751562d15ec7657a9e6c9e68aa54359b83 100644 (file)
 #include <asm/kvm_asm.h>
 #include <asm/kvm_mmio.h>
 
-#define KVM_MAX_VCPUS 4
+#if defined(CONFIG_KVM_ARM_MAX_VCPUS)
+#define KVM_MAX_VCPUS CONFIG_KVM_ARM_MAX_VCPUS
+#else
+#define KVM_MAX_VCPUS 0
+#endif
+
 #define KVM_USER_MEM_SLOTS 32
 #define KVM_PRIVATE_MEM_SLOTS 4
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 1
index 4480ab339a007549c87f3bacc27c7c54f8b50b22..8ba85e9ea388d1778c54eabdd5ca34afad114faf 100644 (file)
@@ -36,6 +36,17 @@ config KVM_ARM_HOST
        ---help---
          Provides host support for ARM processors.
 
+config KVM_ARM_MAX_VCPUS
+       int "Number maximum supported virtual CPUs per VM"
+       depends on KVM_ARM_HOST
+       default 4
+       help
+         Static number of max supported virtual CPUs per VM.
+
+         If you choose a high number, the vcpu structures will be quite
+         large, so only choose a reasonable number that you expect to
+         actually use.
+
 config KVM_ARM_VGIC
        bool
        depends on KVM_ARM_HOST && OF