Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83bcacb1 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Avoid double interrupt injection with vapic



After an interrupt injection, the PPR changes, and we have to reflect that
into the vapic.  This causes a KVM_REQ_EVENT to be set, which causes the
whole interrupt injection routine to be run again (harmlessly).

Optimize by only setting KVM_REQ_EVENT if the ppr was lowered; otherwise
there is no chance that a new injection is needed.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 82ca2d10
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -277,6 +277,7 @@ static void apic_update_ppr(struct kvm_lapic *apic)

	if (old_ppr != ppr) {
		apic_set_reg(apic, APIC_PROCPRI, ppr);
		if (ppr < old_ppr)
			kvm_make_request(KVM_REQ_EVENT, apic->vcpu);
	}
}