Re: [PATCH 1/5] KVM: arm64: Cap KVM_CAP_NR_VCPUS by KVM_CAP_MAX_VCPUS
From: Marc Zyngier <maz@kernel.org>
Date: 2021-11-16 15:55:59
Also in:
kvm, kvm-riscv, linux-arm-kernel, lkml
From: Marc Zyngier <maz@kernel.org>
Date: 2021-11-16 15:55:59
Also in:
kvm, kvm-riscv, linux-arm-kernel, lkml
On Tue, 16 Nov 2021 13:23:25 +0000, Vitaly Kuznetsov [off-list ref] wrote:
Paolo Bonzini [off-list ref] writes:quoted
On 11/12/21 15:02, Marc Zyngier wrote:quoted
quoted
I'd like KVM to be consistent across architectures and have the same (similar) meaning for KVM_CAP_NR_VCPUS.Sure, but this is a pretty useless piece of information anyway. As Andrew pointed out, the information is available somewhere else, and all we need to do is to cap it to the number of supported vcpus, which is effectively a KVM limitation. Also, we are talking about representing the architecture to userspace. No amount of massaging is going to make an arm64 box look like an x86.Not sure what you mean? The API is about providing a piece of information independent of the architecture, while catering for a ppc weirdness. Yes it's mostly useless if you don't care about ppc, but it's not about making arm64 look like x86 or ppc; it's about not having to special case ppc in userspace. If anything, if KVM_CAP_NR_VCPUS returns the same for kvm and !kvm, then *that* is making an arm64 box look like an x86. On ARM the max vCPUs depends on VM's GIC configuration, so KVM_CAP_NR_VCPUS should take that into account.(I'm about to send v2 as we have s390 sorted out.) So what do we decide about ARM?
[...]
- Always kvm_arm_default_max_vcpus to make the output independent on 'if (kvm)'.
This. Between two useless numbers, I prefer the one that doesn't introduce any userspace visible changes. Thanks, M. -- Without deviation from the norm, progress is not possible.