[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <da72d4dd-f4df-25da-f5dd-c91ba43c98cc@redhat.com>
Date: Fri, 23 Dec 2016 13:08:55 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Cc: rkrcmar@...hat.com, rkagan@...tuozzo.com, dplotnikov@...tuozzo.com
Subject: Re: [PATCH 2/6] KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on
EOI
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@...hat.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
Powered by blists - more mailing lists