arm/arm64: KVM: Remove 'config KVM_ARM_MAX_VCPUS'
authorMing Lei <ming.lei@canonical.com>
Wed, 2 Sep 2015 06:31:21 +0000 (14:31 +0800)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 17 Sep 2015 12:13:27 +0000 (13:13 +0100)
commitef748917b529847277f07c98c55e1c0ce416449f
treef121d6fefff690152f4e8257c67ad7d807fa991b
parent34c3faa353db8f5d3ce9966cf854d5643c64c4db
arm/arm64: KVM: Remove 'config KVM_ARM_MAX_VCPUS'

This patch removes config option of KVM_ARM_MAX_VCPUS,
and like other ARCHs, just choose the maximum allowed
value from hardware, and follows the reasons:

1) from distribution view, the option has to be
defined as the max allowed value because it need to
meet all kinds of virtulization applications and
need to support most of SoCs;

2) using a bigger value doesn't introduce extra memory
consumption, and the help text in Kconfig isn't accurate
because kvm_vpu structure isn't allocated until request
of creating VCPU is sent from QEMU;

3) the main effect is that the field of vcpus[] in 'struct kvm'
becomes a bit bigger(sizeof(void *) per vcpu) and need more cache
lines to hold the structure, but 'struct kvm' is one generic struct,
and it has worked well on other ARCHs already in this way. Also,
the world switch frequecy is often low, for example, it is ~2000
when running kernel building load in VM from APM xgene KVM host,
so the effect is very small, and the difference can't be observed
in my test at all.

Cc: Dann Frazier <dann.frazier@canonical.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/include/asm/kvm_host.h
arch/arm/kvm/Kconfig
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/Kconfig
include/kvm/arm_vgic.h
virt/kvm/arm/vgic-v3.c