• M
    arm/arm64: KVM: Remove 'config KVM_ARM_MAX_VCPUS' · ef748917
    Ming Lei 提交于
    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: NMing Lei <ming.lei@canonical.com>
    Reviewed-by: NChristoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
    ef748917
vgic-v3.c 8.5 KB