提交 23e7a794 编写于 作者: J Jason Wang 提交者: Avi Kivity

KVM: pit: Do not check pending pit timer in vcpu thread

Pit interrupt injection was done by workqueue, so no need to check
pending pit timer in vcpu thread which could lead unnecessary
unblocking of vcpu.
Signed-off-by: NJason Wang <jasowang@redhat.com>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 989044ee
...@@ -232,15 +232,6 @@ static void pit_latch_status(struct kvm *kvm, int channel) ...@@ -232,15 +232,6 @@ static void pit_latch_status(struct kvm *kvm, int channel)
} }
} }
int pit_has_pending_timer(struct kvm_vcpu *vcpu)
{
struct kvm_pit *pit = vcpu->kvm->arch.vpit;
if (pit && kvm_vcpu_is_bsp(vcpu) && pit->pit_state.irq_ack)
return atomic_read(&pit->pit_state.pit_timer.pending);
return 0;
}
static void kvm_pit_ack_irq(struct kvm_irq_ack_notifier *kian) static void kvm_pit_ack_irq(struct kvm_irq_ack_notifier *kian)
{ {
struct kvm_kpit_state *ps = container_of(kian, struct kvm_kpit_state, struct kvm_kpit_state *ps = container_of(kian, struct kvm_kpit_state,
......
...@@ -33,12 +33,7 @@ ...@@ -33,12 +33,7 @@
*/ */
int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu) int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)
{ {
int ret; return apic_has_pending_timer(vcpu);
ret = pit_has_pending_timer(vcpu);
ret |= apic_has_pending_timer(vcpu);
return ret;
} }
EXPORT_SYMBOL(kvm_cpu_has_pending_timer); EXPORT_SYMBOL(kvm_cpu_has_pending_timer);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册