kvm: introduce KVM_MAX_VCPU_ID
authorGreg Kurz <gkurz@linux.vnet.ibm.com>
Mon, 9 May 2016 16:13:37 +0000 (18:13 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 11 May 2016 20:37:54 +0000 (22:37 +0200)
commit0b1b1dfd52a67f4f09a18cb82337199bc90ad7fb
tree7d4ec00b96a96ef12fe3aeab042de758451e1bd4
parent9b9e3fc4d5a31f6050508f2404369beac4356867
kvm: introduce KVM_MAX_VCPU_ID

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@redhat.com>
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virtual/kvm/api.txt
arch/powerpc/include/asm/kvm_host.h
include/linux/kvm_host.h
include/uapi/linux/kvm.h
virt/kvm/kvm_main.c