diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 77d57ff3d74ebf6d88501cfda6cea522b396b250..f0493e7dcf0cd6de76d932b9f5fb7fe28d9a13a7 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -2535,6 +2535,13 @@ static int __vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) local_irq_disable(); + if (need_resched()) { + local_irq_enable(); + preempt_enable(); + r = 1; + goto out; + } + if (signal_pending(current)) { local_irq_enable(); preempt_enable();