RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 909038 - Migration downtime is too much more than expected (the value set with migrate_set_downtime command)
Summary: Migration downtime is too much more than expected (the value set with migrate...
Keywords:
Status: CLOSED DUPLICATE of bug 997559
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Juan Quintela
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-08 05:35 UTC by Qunfang Zhang
Modified: 2017-06-07 14:31 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-18 19:19:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Qunfang Zhang 2013-02-08 05:35:28 UTC
Description of problem:
Set migrate downtime before migration, and the real downtime is too much more.
For example:
Boot a rhel7.0 guest (does not running any application inside, just boot guest up)
(1) Use default 30ms downtime, after migration it's about 535ms.
(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 20860 milliseconds
downtime: 535 milliseconds
transferred ram: 679268 kbytes
remaining ram: 0 kbytes
total ram: 4211072 kbytes
duplicate: 884819 pages
normal: 169601 pages
normal bytes: 678404 kbytes
(qemu) 

(2) Even worse, set downtime as 5s, but the real downtime is more than 40s!
(qemu)migrate_set_downtime 5
after migration:
(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 46591 milliseconds
downtime: 46558 milliseconds
transferred ram: 666185 kbytes
remaining ram: 0 kbytes
total ram: 4211072 kbytes
duplicate: 886438 pages
normal: 166330 pages
normal bytes: 665320 kbytes

I test rhel6.4 host with same command line and image, and set migrate downtime as 5s. The real downtime is much better, about 6~10s. 


Version-Release number of selected component (if applicable):
kernel-3.7.0-0.33.el7.x86_64
qemu-kvm-1.3.0-3.el7.x86_64


How reproducible:
Always

Steps to Reproduce:
1.Boot a guest up
 /usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4G -smp 2,sockets=2,cores=1,threads=1 -enable-kvm -name RHEL7.0 -uuid 94f60faf-1978-4c26-8d9d-a3c5206baa5e -k en-us -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=input0 -drive file=/opt/rhel7.0-64-virtio.qcow2,if=none,id=disk0,format=qcow2,werror=stop,rerror=stop,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x3,drive=disk0,id=disk0 -drive file=/opt/boot.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,drive=drive-ide0-1-0,bus=ide.1,unit=0,id=cdrom -netdev tap,vhost=on,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=44:37:E6:5E:91:5E,bus=pci.0,addr=0x5 -monitor stdio -qmp tcp:0:6666,server,nowait -chardev socket,path=/tmp/isa-serial,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -chardev socket,id=charchannel0,path=/tmp/serial-socket,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,path=/tmp/foo,server,nowait,id=foo -device virtconsole,chardev=foo,id=console0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -vnc :10 -vga std -k en-us -boot c -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtserialport,bus=virtio-serial0.0,chardev=qga0,name=org.qemu.guest_agent.0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0

2. Boot the guest on des host with listening mode.

3. On source host, set migrate downtime as 5s.
(qemu) migrate_set_downtime 5

4. Migrate guest to destination host.
(qemu) migrate -d tcp:$dst_host_ip:5800

5. (qemu)info migrate

  
Actual results:
The real migrate downtime is more than 40s, I repeat ping-pong migration for several times, similar results.

(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 46591 milliseconds
downtime: 46558 milliseconds
transferred ram: 666185 kbytes
remaining ram: 0 kbytes
total ram: 4211072 kbytes
duplicate: 886438 pages
normal: 166330 pages
normal bytes: 665320 kbytes


Expected results:
Migrate downtime should be near to 5s.

Additional info:

Comment 2 Qunfang Zhang 2013-03-04 09:04:49 UTC
Hi, Juan
Could you give us a suggested acceptable range if the real migration downtime is a little longer than expected downtime we set with command "migrate_set_downtime"?
Then it will be helpful for QE to tell whether the case is pass or fail strictly.

Thanks,
Qunfang

Comment 3 Qunfang Zhang 2013-03-18 09:53:33 UTC
Seems the migration down time is shorter in qemu-kvm-1.4 than 1.3.

(1) idle guest:
(default downtime)

(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 58365 milliseconds
downtime: 84 milliseconds
transferred ram: 2701724 kbytes
remaining ram: 0 kbytes
total ram: 2113920 kbytes
duplicate: 1360600 pages
normal: 671130 pages
normal bytes: 2684520 kbytes

(2) stressed guest:

(qemu) migrate_set_downtime 4

(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 25355 milliseconds
downtime: 2745 milliseconds
transferred ram: 2067417 kbytes
remaining ram: 0 kbytes
total ram: 2113920 kbytes
duplicate: 61918 pages
normal: 515711 pages
normal bytes: 2062844 kbytes


set downtime as 5s:

(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 26607 milliseconds
downtime: 5524 milliseconds
transferred ram: 2057060 kbytes
remaining ram: 0 kbytes
total ram: 2113920 kbytes
duplicate: 123994 pages
normal: 1685701 pages
normal bytes: 6742804 kbytes

default downtime for a stressed guest:
migration does not finished due to bug 921465.

Comment 4 Qunfang Zhang 2013-03-18 09:54:47 UTC
(In reply to comment #3)
> Seems the migration down time is shorter in qemu-kvm-1.4 than 1.3.
Host:
[root@localhost ~]# uname -r
3.8.0-0.40.el7.x86_64
[root@localhost ~]# rpm -q qemu-kvm
qemu-kvm-1.4.0-1.el7.x86_64


> 
> (1) idle guest:
> (default downtime)
> 
> (qemu) info migrate
> capabilities: xbzrle: off 
> Migration status: completed
> total time: 58365 milliseconds
> downtime: 84 milliseconds
> transferred ram: 2701724 kbytes
> remaining ram: 0 kbytes
> total ram: 2113920 kbytes
> duplicate: 1360600 pages
> normal: 671130 pages
> normal bytes: 2684520 kbytes
> 
> (2) stressed guest:
> 
> (qemu) migrate_set_downtime 4
> 
> (qemu) info migrate
> capabilities: xbzrle: off 
> Migration status: completed
> total time: 25355 milliseconds
> downtime: 2745 milliseconds
> transferred ram: 2067417 kbytes
> remaining ram: 0 kbytes
> total ram: 2113920 kbytes
> duplicate: 61918 pages
> normal: 515711 pages
> normal bytes: 2062844 kbytes
> 
> 
> set downtime as 5s:
> 
> (qemu) info migrate
> capabilities: xbzrle: off 
> Migration status: completed
> total time: 26607 milliseconds
> downtime: 5524 milliseconds
> transferred ram: 2057060 kbytes
> remaining ram: 0 kbytes
> total ram: 2113920 kbytes
> duplicate: 123994 pages
> normal: 1685701 pages
> normal bytes: 6742804 kbytes
> 
> default downtime for a stressed guest:
> migration does not finished due to bug 921465.

Comment 5 Hai Huang 2013-12-18 19:19:40 UTC

*** This bug has been marked as a duplicate of bug 997559 ***


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