During testing of Windows 2012R2 guest migration with Hyper-V SynIC timers enabled we found several bugs which lead to restoring guest in a hung state. This patch series provides several fixes to make the migration of guest with Hyper-V SynIC timers enabled succeed. The series applies on top of 'kvm/x86: Remove Hyper-V SynIC timer stopping' previously sent. Changes v2: * fix incorrect logical operation for one-shot timers * drop stimer->count == 0 inside stimer_start() * comment stimer_start() assumtions Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Roman Kagan <rkagan@xxxxxxxxxxxxx> CC: Denis V. Lunev <den@xxxxxxxxxx> CC: qemu-devel@xxxxxxxxxx Andrey Smetanin (7): kvm/x86: Hyper-V timers fix incorrect logical operation kvm/x86: Drop stimer_stop() function kvm/x86: Hyper-V unify stimer_start() and stimer_restart() kvm/x86: Reorg stimer_expiration() to better control timer restart kvm/x86: Hyper-V fix SynIC timer disabling condition kvm/x86: Skip SynIC vector check for QEMU side kvm/x86: Update SynIC timers on guest entry only arch/x86/kvm/hyperv.c | 119 ++++++++++++++++++++++++-------------------------- arch/x86/kvm/x86.c | 6 +++ 2 files changed, 63 insertions(+), 62 deletions(-) -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html