[Devel,RHEL7,COMMIT] ms/kvm/x86: add a hv_stimer pending to the list of vcpu's awaking events

Submitted by Konstantin Khorenko on Jan. 20, 2017, 11:27 a.m.

Details

Message ID 201701201127.v0KBRmuw024588@finist_cl7.x64_64.work.ct
State New
Series "KVM: x86: add a hv_stimer pending to the list of vcpu's awaking events"
Headers show

Commit Message

Konstantin Khorenko Jan. 20, 2017, 11:27 a.m.
The commit is pushed to "branch-rh7-3.10.0-514.6.1.vz7.28.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-514.6.1.vz7.28.2
------>
commit b05bcc3f17ea830db99f53cd49c3217ceeff0b43
Author: Denis Plotnikov <dplotnikov@virtuozzo.com>
Date:   Fri Jan 20 15:27:48 2017 +0400

    ms/kvm/x86: add a hv_stimer pending to the list of vcpu's awaking events
    
    In RHEL 7.3 the infrastructure code responsible for checking the vcpu
    runnable state has been reworked. RHEL 7.3 doesn't support hyper-v stimers,
    thus the hv_stimer pending check didn't appear in the reworked code.
    The hv_timer pending check hasn't been ported while moving from 7.2 to 7.3
    kernel. This has led to hanging on of windows guests on during OS installation
    and OS shutting down.
    
    The patch fixes that by adding a missing piece of code to the vcpu runnable
    check, to be merged into afa32dc ("ms/kvm/x86: Hyper-V SynIC timers").
    
    https://jira.sw.ru/browse/PSBM-58415
    
    Signed-off-by: Denis Plotnikov <dplotnikov@virtuozzo.com>
    Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
---
 arch/x86/kvm/x86.c | 3 +++
 1 file changed, 3 insertions(+)

Patch hide | download patch | download mbox

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6f3fa26..f25659e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8367,6 +8367,9 @@  static inline bool kvm_vcpu_has_events(struct kvm_vcpu *vcpu)
 	    kvm_cpu_has_interrupt(vcpu))
 		return true;
 
+	if (kvm_hv_has_stimer_pending(vcpu))
+		return true;
+
 	return false;
 }