[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55F2B3F7.6000306@redhat.com>
Date: Fri, 11 Sep 2015 12:59:03 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Feng Wu <feng.wu@...el.com>, alex.williamson@...hat.com,
joro@...tes.org, mtosatti@...hat.com
Cc: eric.auger@...aro.org, kvm@...r.kernel.org,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 16/17] KVM: Warn if 'SN' is set during posting
interrupts by software
On 25/08/2015 10:50, Feng Wu wrote:
> Currently, we don't support urgent interrupt, all interrupts
> are recognized as non-urgent interrupt, so we cannot post
> interrupts when 'SN' is set.
>
> If the vcpu is in guest mode, it cannot have been scheduled out,
> and that's the only case when SN is set currently, warning if
> SN is set.
>
> Signed-off-by: Feng Wu <feng.wu@...el.com>
> ---
> arch/x86/kvm/vmx.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 64e35ea..eb640a1 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -4494,6 +4494,22 @@ static inline bool kvm_vcpu_trigger_posted_interrupt(struct kvm_vcpu *vcpu)
> {
> #ifdef CONFIG_SMP
> if (vcpu->mode == IN_GUEST_MODE) {
> + struct vcpu_vmx *vmx = to_vmx(vcpu);
> +
> + /*
> + * Currently, we don't support urgent interrupt,
> + * all interrupts are recognized as non-urgent
> + * interrupt, so we cannot post interrupts when
> + * 'SN' is set.
> + *
> + * If the vcpu is in guest mode, it means it is
> + * running instead of being scheduled out and
> + * waiting in the run queue, and that's the only
> + * case when 'SN' is set currently, warning if
> + * 'SN' is set.
> + */
> + WARN_ON_ONCE(pi_test_sn(&vmx->pi_desc));
> +
> apic->send_IPI_mask(get_cpu_mask(vcpu->cpu),
> POSTED_INTR_VECTOR);
> return true;
>
Reviewed-by: Paolo Bonzini <pbonzini@...hat.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists