Re: [PATCH v7 16/17] KVM: Warn if 'SN' is set during posting interrupts by software

From: Paolo Bonzini
Date: Fri Sep 11 2015 - 06:59:13 EST




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@xxxxxxxxx>
> ---
> 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@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/