Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1546844

Re: [PATCH 2/6] KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on EOI

From Paolo Bonzini <pbonzini@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH 2/6] KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on EOI
Date 2016-12-23 13:10 +0100
Message-ID <sRwPD-6HP-5@gated-at.bofh.it> (permalink)
References <sQ2JY-60r-5@gated-at.bofh.it> <sQ2TE-63S-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 19/12/2016 10:47, Paolo Bonzini wrote:
> On EOI, there is no need to set KVM_REQ_EVENT unconditionally.  The PPR
> update is already setting it if resetting the ISR bit causes PPR to
> decrease.  Even a level-triggered IOAPIC interrupt will set KVM_REQ_EVENT
> on a reinjection (ioapic_service -> kvm_irq_delivery_to_apic and from
> there to __apic_accept_irq).
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  arch/x86/kvm/lapic.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index e35cbd44c505..70c7428b7a57 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -1066,7 +1066,6 @@ static int apic_set_eoi(struct kvm_lapic *apic)
>  		kvm_hv_synic_send_eoi(apic->vcpu, vector);
>  
>  	kvm_ioapic_send_eoi(apic, vector);
> -	kvm_make_request(KVM_REQ_EVENT, apic->vcpu);
>  	return vector;
>  }
>  
> @@ -1081,7 +1080,6 @@ void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector)
>  	trace_kvm_eoi(apic, vector);
>  
>  	kvm_ioapic_send_eoi(apic, vector);
> -	kvm_make_request(KVM_REQ_EVENT, apic->vcpu);
>  }
>  EXPORT_SYMBOL_GPL(kvm_apic_set_eoi_accelerated);
>  
> 

This patch breaks Windows XP and 2003 (reverting it while keeping the
others results in 3 successful installs, compared to a failure rate of
12/13 with the patch included).

Paolo

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC PATCH v3 0/6] KVM: x86: avoid redundant REQ_EVENT Paolo Bonzini <pbonzini@redhat.com> - 2016-12-19 10:50 +0100
  [PATCH 4/6] KVM: lapic: avoid unnecessary KVM_REQ_EVENT on IRR scan Paolo Bonzini <pbonzini@redhat.com> - 2016-12-19 10:50 +0100
  [PATCH 1/6] KVM: x86: add VCPU stat for KVM_REQ_EVENT processing Paolo Bonzini <pbonzini@redhat.com> - 2016-12-19 11:00 +0100
    Re: [PATCH 1/6] KVM: x86: add VCPU stat for KVM_REQ_EVENT processing Paolo Bonzini <pbonzini@redhat.com> - 2016-12-20 10:40 +0100
  [PATCH 2/6] KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on EOI Paolo Bonzini <pbonzini@redhat.com> - 2016-12-19 11:00 +0100
    Re: [PATCH 2/6] KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on  EOI Paolo Bonzini <pbonzini@redhat.com> - 2016-12-23 13:10 +0100
  Re: [RFC PATCH v3 0/6] KVM: x86: avoid redundant REQ_EVENT Paolo Bonzini <pbonzini@redhat.com> - 2016-12-19 16:10 +0100

csiph-web