diff options
author | Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp> | 2014-02-27 15:08:31 +0900 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-02-27 19:25:39 +0100 |
commit | 684851a15744355f294ee3fee4ca2e9108382b47 (patch) | |
tree | 55eb91ae4ea918cad66c744bdbb38b57730f908a /arch/x86/kvm/x86.c | |
parent | 9cac38dd5dc41c943d711b96f9755a29c8b854ea (diff) | |
download | lwn-684851a15744355f294ee3fee4ca2e9108382b47.tar.gz lwn-684851a15744355f294ee3fee4ca2e9108382b47.zip |
KVM: x86: Break kvm_for_each_vcpu loop after finding the VP_INDEX
No need to scan the entire VCPU array.
Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 4cca45853dfe..773eba799c45 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -2328,9 +2328,12 @@ static int get_msr_hyperv(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) case HV_X64_MSR_VP_INDEX: { int r; struct kvm_vcpu *v; - kvm_for_each_vcpu(r, v, vcpu->kvm) - if (v == vcpu) + kvm_for_each_vcpu(r, v, vcpu->kvm) { + if (v == vcpu) { data = r; + break; + } + } break; } case HV_X64_MSR_EOI: |