Bug 84781 - The guest will hang after live migration.
Summary: The guest will hang after live migration.
Status: RESOLVED CODE_FIX
Alias: None
Product: Virtualization
Classification: Unclassified
Component: kvm (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: virtualization_kvm
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-18 07:37 UTC by Zhou, Chao
Modified: 2014-09-19 06:09 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.17.0-rc1
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Zhou, Chao 2014-09-18 07:37:10 UTC
Environment:
------------
Host OS (ia32/ia32e/IA64):ia32e
Guest OS (ia32/ia32e/IA64):ia32e
Guest OS Type (Linux/Windows):Linux
kvm.git Commit:fd2752352bbc98850d83b5448a288d8991590317
qemu.git Commit:e4d50d47a9eb15f42bdd561803a29a4d7c3eb8ec
Host Kernel Version:3.17.0-rc1
Hardware:Ivytown_EP, Haswell_EP


Bug detailed description:
--------------------------
after guest live migration, the guest will hang, and ping guest's fail.

note:
1. after guest save/restore, the guest will hang
2. This should be a kernel bug
kvm      + qemu     =  result
fd275235 + e4d50d47 =  bad
c77dcacb + e4d50d47 =  good


Reproduce steps:
----------------
1.Start a TCP daemon for migration
qemu-system-x86_64 -enable-kvm -m 4G -smp 4 -net nic,macaddr=00:12:31:45:41:23 -net tap,script=/etc/kvm/qemu-ifup rhel6u5.qcow -incoming tcp:localhost:4444
2. create guest
qemu-system-x86_64 -enable-kvm -m 4G -smp 4 -net nic,macaddr=00:12:31:45:41:23 -net tap,script=/etc/kvm/qemu-ifup rhel6u5.qcow
3. ctrl+alt+2 to change to qemu monitor
4. migrate tcp:localhost:4444


Current result:
----------------
guest hang after live migration or save/restore.

Expected result:
----------------
after live/migration or save/restore, the guest works fine.


Basic root-causing log:
----------------------
Comment 1 Zhou, Chao 2014-09-18 07:37:46 UTC
the first bad commit is:
commit cbcf2dd3b3d4d990610259e8d878fc8dc1f17d80
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jul 16 21:04:54 2014 +0000

    x86: kvm: Make kvm_get_time_and_clockread() nanoseconds based
    
    Convert the relevant base data right away to nanoseconds instead of
    doing the conversion on every readout. Reduces text size by 160 bytes.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Gleb Natapov <gleb@kernel.org>
    Cc: kvm@vger.kernel.org
    Acked-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
Comment 2 Paolo Bonzini 2014-09-18 09:23:23 UTC
Chao, can you test a more recent 3.17-rc version (3.17-rc4 or newer)?  It should be fixed already.
Comment 3 Zhou, Chao 2014-09-19 03:39:31 UTC
test the bug on linux.git
Commit: 2ce7598c9a453e0acd0e07be7be3f5eb39608ebd
Kernel 3.17.0-rc4
Commit: d9773ceabfaf3f27b8a36fac035b74ee599df900
kernel :3.17.0-rc5+

after live migration, the guest works fine, the bug can't reproduce.

Note You need to log in before you can comment on or make changes to this bug.