From: Christoffer Dall <cd...@linaro.org> There are occasional needs to use the index of vcpu in the kvm->vcpus array to map something related to a VCPU. For example, unlike the vcpu->vcpu_id, the vcpu index is guaranteed to not be sparse across all vcpus which is useful when allocating a memory area for each vcpu.
Signed-off-by: Christoffer Dall <cd...@linaro.org> Reviewed-by: Eric Auger <eric.au...@redhat.com> (cherry picked from commit 497d72d80a789501501cccabdad6b145f9e31371) Signed-off-by: Roman Kagan <rka...@virtuozzo.com> --- include/linux/kvm_host.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index de3cc6d91e2f..3d374feb9752 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -488,6 +488,17 @@ static inline struct kvm_vcpu *kvm_get_vcpu_by_id(struct kvm *kvm, int id) return NULL; } +static inline int kvm_vcpu_get_idx(struct kvm_vcpu *vcpu) +{ + struct kvm_vcpu *tmp; + int idx; + + kvm_for_each_vcpu(idx, tmp, vcpu->kvm) + if (tmp == vcpu) + return idx; + BUG(); +} + #define kvm_for_each_memslot(memslot, slots) \ for (memslot = &slots->memslots[0]; \ memslot < slots->memslots + KVM_MEM_SLOTS_NUM && memslot->npages;\ -- 2.13.6 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel