From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH v8 6/7] KVM: VMX: Add the algorithm of deliver posted interrupt Date: Tue, 09 Apr 2013 18:31:20 +0200 Message-ID: <51644258.7070409@redhat.com> References: <1365431002-31202-1-git-send-email-yang.z.zhang@intel.com> <1365431002-31202-7-git-send-email-yang.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, gleb@redhat.com, mtosatti@redhat.com, xiantao.zhang@intel.com, jun.nakajima@intel.com To: Yang Zhang Return-path: Received: from mail-qe0-f43.google.com ([209.85.128.43]:34510 "EHLO mail-qe0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934149Ab3DIQba (ORCPT ); Tue, 9 Apr 2013 12:31:30 -0400 Received: by mail-qe0-f43.google.com with SMTP id f6so3393554qej.30 for ; Tue, 09 Apr 2013 09:31:29 -0700 (PDT) In-Reply-To: <1365431002-31202-7-git-send-email-yang.z.zhang@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: Il 08/04/2013 16:23, Yang Zhang ha scritto: > + * interrupt from PIR in next vmentry. > + */ > +static void vmx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector) > +{ > + struct vcpu_vmx *vmx = to_vmx(vcpu); > + int r; > + > + if (pi_test_and_set_pir(vector, &vmx->pi_desc)) > + return; > + > + r = pi_test_and_set_on(&vmx->pi_desc); > + kvm_make_request(KVM_REQ_EVENT, vcpu); > + if (!r && (vcpu->mode == IN_GUEST_MODE)) > + apic->send_IPI_mask(get_cpu_mask(vcpu->cpu), > + POSTED_INTR_VECTOR); > + else > + kvm_vcpu_kick(vcpu); > + > + return; > +} No need for this return. Paolo