aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/irq.h
diff options
context:
space:
mode:
authorEddie Dong <eddie.dong@intel.com>2007-09-03 09:56:58 -0400
committerAvi Kivity <avi@qumranet.com>2007-10-13 04:18:26 -0400
commit1b9778dae71dc64d3678d766c0f1fbed79c80f9f (patch)
tree3196bbfe474119a849f35aefddb5e0922205850f /drivers/kvm/irq.h
parent6e5d865c0b9679b00b5e5f0754c9fc2b6b9894d6 (diff)
KVM: Keep track of missed timer irq injections
APIC timer IRQ is set every time when a certain period expires at host time, but the guest may be descheduled at that time and thus the irq be overwritten by later fire. This patch keep track of firing irq numbers and decrease only when the IRQ is injected to guest or buffered in APIC. Signed-off-by: Yaozu (Eddie) Dong <Eddie.Dong@intel.com> Signed-off-by: Qing He <qing.he@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/irq.h')
-rw-r--r--drivers/kvm/irq.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/kvm/irq.h b/drivers/kvm/irq.h
index 07035e8279d4..87baf7e69ea2 100644
--- a/drivers/kvm/irq.h
+++ b/drivers/kvm/irq.h
@@ -154,5 +154,9 @@ int kvm_ioapic_init(struct kvm *kvm);
154void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); 154void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level);
155int kvm_lapic_enabled(struct kvm_vcpu *vcpu); 155int kvm_lapic_enabled(struct kvm_vcpu *vcpu);
156int kvm_lapic_find_highest_irr(struct kvm_vcpu *vcpu); 156int kvm_lapic_find_highest_irr(struct kvm_vcpu *vcpu);
157void kvm_apic_timer_intr_post(struct kvm_vcpu *vcpu, int vec);
158void kvm_timer_intr_post(struct kvm_vcpu *vcpu, int vec);
159void kvm_inject_pending_timer_irqs(struct kvm_vcpu *vcpu);
160void kvm_inject_apic_timer_irqs(struct kvm_vcpu *vcpu);
157 161
158#endif 162#endif