From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] KVM: x86: Break kvm_for_each_vcpu loop after finding the VP_INDEX Date: Thu, 27 Feb 2014 19:26:03 +0100 Message-ID: <530F833B.7090607@redhat.com> References: <20140227150831.cadb1e95.yoshikawa_takuya_b1@lab.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Takuya Yoshikawa , gleb@kernel.org Return-path: Received: from mail-qc0-f179.google.com ([209.85.216.179]:45977 "EHLO mail-qc0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752044AbaB0S0H (ORCPT ); Thu, 27 Feb 2014 13:26:07 -0500 Received: by mail-qc0-f179.google.com with SMTP id r5so3657279qcx.38 for ; Thu, 27 Feb 2014 10:26:07 -0800 (PST) In-Reply-To: <20140227150831.cadb1e95.yoshikawa_takuya_b1@lab.ntt.co.jp> Sender: kvm-owner@vger.kernel.org List-ID: Il 27/02/2014 07:08, Takuya Yoshikawa ha scritto: > No need to scan the entire VCPU array. > > Signed-off-by: Takuya Yoshikawa > --- > BTW, this looks like hyperv support forces us to stick to the current > implementation which stores VCPUs in an array, or at least something > we can index them; not a good thing. > > arch/x86/kvm/x86.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 4cca458..773eba7 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: > Applying to kvm/queue, thanks. Paolo