Bug 531701

Summary: pvclock msr values are not preserved across remote migration
Product: Red Hat Enterprise Linux 5 Reporter: Glauber Costa <gcosta>
Component: kvmAssignee: Glauber Costa <gcosta>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: urgent    
Version: 5.4CC: dyasny, jplans, khong, lihuang, markmc, michen, ovirt-maint, tao, tburke, virt-maint, ykaul
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kvm-83-135.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-30 07:52:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 537028, 580948    

Description Glauber Costa 2009-10-29 08:44:14 UTC
Description of problem:

Remote migration causes a drift in guests, proportional to the difference they have in monotonic clock.

This happens because msr values are not saved on migration, meaning we are just relying on bogus data for clock calculations

Comment 1 Mark McLoughlin 2009-10-29 14:14:28 UTC
For reference, the Fedora 12 bug is #530389

Comment 7 Dor Laor 2009-11-10 13:48:25 UTC
*** Bug 523457 has been marked as a duplicate of this bug. ***

Comment 13 Miya Chen 2010-01-13 11:58:48 UTC
Test this in Intel host, it does not exist.
kvm version:
kvm-83-140.el5
hostA : Fri Jan 8 08:18:26 UTC 2010
hostB : Fri Jan 8 08:17:52 UTC 2010

1.
guest: 32bitrhel5.4
kernel: 2.6.18-164.11.1.el5
cmd:
/usr/libexec/qemu-kvm -rtc-td-hack -no-hpet -usbdevice tablet -no-kvm-pit-reinjection -cpu qemu64,+sse2 -drive file=RHEL-Server-5.4-32-virtio.qcow2,if=ide -smp 2 -m 2G -net nic,macaddr=20:20:20:11:12:56,model=e1000,vlan=0 -net tap,script=/etc/qemu-ifup,vlan=0 -monitor stdio -vnc :1

1.1 migrate A-->B
before migration:
ssh hostA date -u; date -u
Fri Jan 8 08:35:49 UTC 2010
Fri Jan 8 08:35:47 UTC 2010

after migration:
ssh hostA date -u; date -u
Fri Jan 8 08:38:12 UTC 2010
Fri Jan 8 08:38:10 UTC 2010
1.2 migrate B-->A
before migration:
ssh hostB date -u; date -u
Fri Jan 8 08:44:44 UTC 2010
Fri Jan 8 08:45:18 UTC 2010

after migration:
ssh hostB date -u; date -u
Fri Jan 8 08:47:26 UTC 2010
Fri Jan 8 08:48:00 UTC 2010

2.
guest: 64bitrhel5.4
kernel: 2.6.18-164.11.1.el5
cmd:
/usr/libexec/qemu-kvm -rtc-td-hack -no-hpet -usbdevice tablet -no-kvm-pit-reinjection -cpu qemu64,+sse2 -drive file=RHEL-Server-5.4-64-virtio.qcow2,if=ide -smp 2 -m 2G -net nic,macaddr=20:20:20:11:12:58,model=e1000,vlan=0 -net tap,script=/etc/qemu-ifup,vlan=0 -monitor stdio -vnc :1

2.1 Migrate A-->B
before migration:
ssh hostA date -u; date -u
Fri Jan 8 09:29:51 UTC 2010
Fri Jan 8 09:29:50 UTC 2010

after migration:
ssh hostA date -u; date -u
Fri Jan 8 09:32:49 UTC 2010
Fri Jan 8 09:32:48 UTC 2010

2.2 migrate B-->A
before migration:
ssh hostB date -u; date -u
Fri Jan 8 09:38:05 UTC 2010
Fri Jan 8 09:38:39 UTC 2010

after migration:
ssh hostB date -u; date -u
Fri Jan 8 09:40:15 UTC 2010
Fri Jan 8 09:40:49 UTC 2010

From the test result, no big time jump and time backward.

Comment 14 Miya Chen 2010-01-13 12:06:39 UTC
Test this in AMD host, it does not exist.
kvm version:
kvm-83-137.el5

1.
guest: rhel5.4-64
guest kernel: 2.6.18-164.6.1.el5
cmd:
/usr/libexec/qemu-kvm -drive file=/mnt/images/rhel5.4-64.qcow2,if=virtio,boot=on -usbdevice tablet -no-kvm-pit-reinjection -no-hpet -rtc-td-hack -smp 2 -m 2G -uuid `uuidgen` -net nic,model=virtio,macaddr=00:A6:68:BA:90:95,vlan=0 -net tap,vlan=0,script=/etc/qemu-ifup -cpu qemu64,+sse2 -boot c -name 5.4-64 -vnc :8 -monitor stdio

on guest:
#ssh host date -u;date -u

1.1 migrate A->B
before migration:
Tue Dec 8 03:31:24 UTC 2009
Tue Dec 8 03:31:26 UTC 2009

after migration:
Tue Dec 8 03:35:08 UTC 2009
Tue Dec 8 03:35:10 UTC 2009

1.2 migrate B->A
before migration:
Thu Feb 12 23:15:34 UTC 2009
Thu Feb 12 23:15:36 UTC 2009

after migration:
Thu Feb 12 23:20:20 UTC 2009
Thu Feb 12 23:20:22 UTC 2009


2.
guest: rhel5.4-32
guest kernel: 2.6.18-164.6.1.el5
cmd:
/usr/libexec/qemu-kvm -drive file=/mnt/images/rhel5.4-32.qcow2,if=virtio,boot=on -usbdevice tablet -no-kvm-pit-reinjection -no-hpet -rtc-td-hack -smp 2 -m 2G -uuid `uuidgen` -net nic,model=virtio,macaddr=00:A6:68:BA:90:95,vlan=0 -net tap,vlan=0,script=/etc/qemu-ifup -cpu qemu64,+sse2 -boot c -name 5.4-64 -vnc :8 -monitor stdio

2.1 migrate A->B

before migration
Tue Dec 8 05:58:27 UTC 2009
Tue Dec 8 06:00:05 UTC 2009

after migration:
Tue Dec 8 06:01:29 UTC 2009
Tue Dec 8 06:03:06 UTC 2009

2.2 migrate B->A

before migration:
Tue Dec 8 05:52:08 UTC 2009
Tue Dec 8 05:51:43 UTC 2009

after migration:
Tue Dec 8 05:55:24 UTC 2009
Tue Dec 8 05:54:59 UTC 2009

From the test result, no big time jump and time backward before&after migration.

Comment 15 Juan Quintela 2010-01-21 13:08:13 UTC
*** Bug 510193 has been marked as a duplicate of this bug. ***

Comment 18 errata-xmlrpc 2010-03-30 07:52:11 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0271.html

Comment 19 Glauber Costa 2010-10-25 13:42:08 UTC
*** Bug 578734 has been marked as a duplicate of this bug. ***