On 09/05/2016 18:23, Cornelia Huck wrote: > On Mon, 09 May 2016 18:13:37 +0200 > Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> wrote: > >> The KVM_MAX_VCPUS define provides the maximum number of vCPUs per guest, and >> also the upper limit for vCPU ids. This is okay for all archs except PowerPC >> which can have higher ids, depending on the cpu/core/thread topology. In the >> worst case (single threaded guest, host with 8 threads per core), it limits >> the maximum number of vCPUS to KVM_MAX_VCPUS / 8. >> >> This patch separates the vCPU numbering from the total number of vCPUs, with >> the introduction of KVM_MAX_VCPU_ID, as the maximal valid value for vCPU ids >> plus one. >> >> The corresponding KVM_CAP_MAX_VCPU_ID allows userspace to validate vCPU ids >> before passing them to KVM_CREATE_VCPU. >> >> This patch only implements KVM_MAX_VCPU_ID with a specific value for PowerPC. >> Other archs continue to return KVM_MAX_VCPUS instead. >> >> Suggested-by: Radim Krcmar <rkrcmar@xxxxxxxxxx> >> Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> >> --- >> v6: - provide cap in generic code (Cornelia) >> - change PowerPC limit to threads_per_subcore * KVM_MAX_VCORES (Radim) >> --- >> Documentation/virtual/kvm/api.txt | 10 ++++++++-- >> arch/powerpc/include/asm/kvm_host.h | 3 +++ >> include/linux/kvm_host.h | 4 ++++ >> include/uapi/linux/kvm.h | 1 + >> virt/kvm/kvm_main.c | 4 +++- >> 5 files changed, 19 insertions(+), 3 deletions(-) > > Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> > Series pushed to kvm/queue, thanks. Paolo