diff options
author | Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp> | 2014-02-27 01:08:31 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-02-27 13:25:39 -0500 |
commit | 684851a15744355f294ee3fee4ca2e9108382b47 (patch) | |
tree | 55eb91ae4ea918cad66c744bdbb38b57730f908a | |
parent | 9cac38dd5dc41c943d711b96f9755a29c8b854ea (diff) |
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>
-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) | |||
2328 | case HV_X64_MSR_VP_INDEX: { | 2328 | case HV_X64_MSR_VP_INDEX: { |
2329 | int r; | 2329 | int r; |
2330 | struct kvm_vcpu *v; | 2330 | struct kvm_vcpu *v; |
2331 | kvm_for_each_vcpu(r, v, vcpu->kvm) | 2331 | kvm_for_each_vcpu(r, v, vcpu->kvm) { |
2332 | if (v == vcpu) | 2332 | if (v == vcpu) { |
2333 | data = r; | 2333 | data = r; |
2334 | break; | ||
2335 | } | ||
2336 | } | ||
2334 | break; | 2337 | break; |
2335 | } | 2338 | } |
2336 | case HV_X64_MSR_EOI: | 2339 | case HV_X64_MSR_EOI: |