Hide Forgot
Description of problem: During verifying bug 981235, the "remaining ram" increases from a small value to a larger one instead of 0 after migration. Create this bz to track this issue. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. Boot a guest: /usr/libexec/qemu-kvm -cpu SandyBridge -M rhel6.5.0 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -name rhel6.4-64 -uuid 9a0e67ec-f286-d8e7-0548-0c1c9ec93009 -nodefconfig -nodefaults -monitor stdio -rtc base=utc,clock=host,driftfix=slew -no-kvm-pit-reinjection -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/home/RHEL-Server-6.4-64-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-0,id=ide0-1-1 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:d5:51:8a,bus=pci.0,addr=0x3 -chardev socket,id=charserial0,path=/tmp/isa-serial,server,nowait -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc :10 -vga std -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -qmp tcp:0:5566,server,nowait -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 2. Boot the guest on another terminal of host with listening mode "-incoming tcp:0:5800", replace the vnc port and qmp port to some other value. 3. Migrate guest. (qemu) migrate -d tcp:0:5800 4. Check the migration status until finish. (qemu) info migrate Migration status: active total time: 9157 milliseconds transferred ram: 286799 kbytes remaining ram: 293148 kbytes total ram: 2113920 kbytes (qemu) info migrate Migration status: completed total time: 15950 milliseconds downtime: 46 milliseconds transferred ram: 548803 kbytes remaining ram: 56 kbytes total ram: 2113920 kbytes (qemu) info migrate Migration status: completed total time: 15950 milliseconds downtime: 46 milliseconds transferred ram: 548803 kbytes remaining ram: 164 kbytes total ram: 2113920 kbytes (qemu) info migrate Migration status: completed total time: 15950 milliseconds downtime: 46 milliseconds transferred ram: 548803 kbytes remaining ram: 216 kbytes total ram: 2113920 kbytes ..... (many time's repeat of "info migrate") (qemu) info migrate Migration status: completed total time: 15950 milliseconds downtime: 46 milliseconds transferred ram: 548803 kbytes remaining ram: 604 kbytes total ram: 2113920 kbytes Actual results: The 'remaining ram' is not 0 after finish migration. Expected results: The 'remaining ram' should be 0 after finish migration. Additional info:
*** Bug 1050799 has been marked as a duplicate of this bug. ***
Hi, Juan Amit and I just talked about this bug and he suggest to close it. We are okay with it since we are not interested with the "remaining ram" after the migration finished. But there's one thing to double confirm with you: Will the "transferred ram" value be effect by this bug from the code point of view? As we usually use it to calculate the migration average speed (transferred ram/total time). Is it relevant with this bug? Thanks, Qunfang
Retest this bz. Version of some components: # rpm -qa|grep qemu-kvm-rhev && uname -r qemu-kvm-rhev-tools-0.12.1.2-2.445.el6.x86_64 qemu-kvm-rhev-0.12.1.2-2.445.el6.x86_64 2.6.32-502.el6.x86_64 cli: ### src host: /usr/libexec/qemu-kvm -cpu Opteron_G5 \ -enable-kvm -m 4096 -realtime mlock=off -smp 4,sockets=2,cores=2,threads=1,maxcpus=160 -numa node,cpus=0 \ -numa node,cpus=1 -numa node,cpus=2 -numa node,cpus=3 \ -nodefconfig -nodefaults \ -global PIIX4_PM.disable_s3=0 \ -global PIIX4_PM.disable_s4=0 \ -global ide-drive.physical_block_size=4096 \ -global ide-drive.logical_block_size=4096 \ -global virtio-blk-pci.physical_block_size=512 \ -global virtio-blk-pci.logical_block_size=512 \ -boot order=cdn,once=n,menu=on,strict=on,reboot-timeout=60000 -k en-us \ -soundhw ac97 \ -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x5,indirect_desc=on,event_idx=on,multifunction=on,rombar=100 \ -monitor stdio \ -name test-all-qemu-kvm-option -uuid `uuidgen` \ -drive file=/mnt/rhel6.6-64.qcow26,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,media=disk,snapshot=off,bus=1,unit=1 \ -device virtio-blk-pci,scsi=off,drive=drive-virtio-disk,id=virtio-disk,bus=pci.0,addr=0x7,physical_block_size=512,logical_block_size=512,multifunction=on,scsi=on,event_idx=on,indirect_desc=on,vectors=16,x-data-plane=off,ioeventfd=on,serial=fuxc,discard_granularity=1,min_io_size=4096,opt_io_size=4096 \ -usbdevice tablet -usbdevice mouse \ -netdev tap,id=hostnet0,vhost=on,id=hostnet0,script=/etc/qemu-ifup \ -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=c2:9a:2f:9c:de:10,bus=pci.0,addr=0x9,multifunction=on,status=on,gso=on,ioeventfd=on,vectors=8,indirect_desc=off,event_idx=off,guest_tso4=off,guest_tso6=on,guest_ecn=off,guest_ufo=on,host_tso4=off,host_tso6=on,host_ecn=on,mrg_rxbuf=off,ctrl_vq=on,host_ufo=on,mrg_rxbuf=on,ctrl_rx=on,ctrl_vlan=on,ctrl_rx_extra=on,ctrl_mac_addr=on 3<>/dev/tap3 \ -netdev tap,id=hostnet1,vhost=off,fd=4 \ -device e1000,netdev=hostnet1,id=virtio-net-pci1,mac=1a:d9:71:4a:35:a9,bus=pci.0,addr=0xa,multifunction=off 4<>/dev/tap4 \ -netdev tap,id=hostnet2,vhost=off,fd=5 \ -device rtl8139,netdev=hostnet2,id=virtio-net-pci2,mac=22:6f:4e:8f:62:21,bus=pci.0,addr=0xb,multifunction=off 5<>/dev/tap5 \ -serial unix:/tmp/monitor2,server,nowait \ -rtc base=utc -no-shutdown \ -drive file=/mnt/ide-disk,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,copy-on-read=off,serial=fux-ide,media=disk \ -device ide-drive,drive=drive-data-disk,id=system-disk,wwn=0x5000c50015ea71ad,logical_block_size=512,physical_block_size=512,min_io_size=32,opt_io_size=64,discard_granularity=512,ver=fuxc-ver,bus=ide.0,unit=0 \ -chardev tty,id=serial1,path=/dev/ttyS0 \ -device isa-serial,chardev=serial1 \ -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait \ -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait \ -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0 \ -chardev file,id=channel3,path=/mnt/helloworld1.txt \ -device virtserialport,chardev=channel3,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0,id=port1,nr=1 \ -chardev socket,id=isa-serial-1,path=/tmp/isa-serial-1,server,nowait \ -device isa-serial,chardev=isa-serial-1 -global pvpanic.ioport=0x0505 \ -machine rhel6.5.0,dump-guest-core=off \ -drive file=/mnt/en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw \ -device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-0,id=ide0-1-0,wwn=0x5000c50015ea71ade,logical_block_size=512,physical_block_size=512,min_io_size=32,opt_io_size=64,discard_granularity=512,unit=1,ver=fuxc-ver-cdrom,bus=ide.0,unit=1 \ -drive file=/mnt/win7sp1-32.raw,if=none,id=drive-scsi-disk,format=raw,cache=none,werror=stop,rerror=stop \ -device virtio-scsi-pci,id=scsi0,addr=0x13,vectors=16,indirect_desc=on,event_idx=off,hotplug=on,param_change=off,num_queues=1,max_sectors=512,cmd_per_lun=16,multifunction=on,rombar=64 \ -device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=data-disk2,logical_block_size=1024,physical_block_size=1024,min_io_size=512,opt_io_size=512,discard_granularity=512,ver=fuxc-scsi,serial=fuxc-scsi-serial,removable=off,wwn=0x16,channel=0 \ -device sga -spice port=5901,password=redhat-vga,disable-ticketing -vga qxl -global qxl-vga.vram_size=33554432 \ -device intel-hda,id=sound0,bus=pci.0 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \ -chardev socket,path=/tmp/foo,server,nowait,id=foo \ -drive file=/usr/share/virtio-win/virtio-win_amd64.vfd,if=none,id=drive-fdc0-0-0,readonly=on,format=raw \ -global isa-fdc.driveA=drive-fdc0-0-0 \ -device usb-ehci,id=ehci \ -device usb-storage,drive=drive-usb-0-1,id=usb-0-1,removable=on,bus=ehci.0,port=1 \ -drive file=/mnt/usb-ehci,if=none,id=drive-usb-0-1,media=disk,format=qcow2 \ -cdrom /mnt/driver.iso ================================ ### dst host: /usr/libexec/qemu-kvm -cpu Opteron_G5 \ -enable-kvm -m 4096 -realtime mlock=off -smp 4,sockets=2,cores=2,threads=1,maxcpus=160 -numa node,cpus=0 \ -numa node,cpus=1 -numa node,cpus=2 -numa node,cpus=3 \ -nodefconfig -nodefaults \ -global PIIX4_PM.disable_s3=0 \ -global PIIX4_PM.disable_s4=0 \ -global ide-drive.physical_block_size=4096 \ -global ide-drive.logical_block_size=4096 \ -global virtio-blk-pci.physical_block_size=512 \ -global virtio-blk-pci.logical_block_size=512 \ -boot order=cdn,once=n,menu=on,strict=on,reboot-timeout=60000 -k en-us \ -soundhw ac97 \ -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x5,indirect_desc=on,event_idx=on,multifunction=on,rombar=100 \ -monitor stdio \ -name test-all-qemu-kvm-option -uuid `uuidgen` \ -drive file=/mnt/rhel6.6-64.qcow26,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,media=disk,snapshot=off,bus=1,unit=1 \ -device virtio-blk-pci,scsi=off,drive=drive-virtio-disk,id=virtio-disk,bus=pci.0,addr=0x7,physical_block_size=512,logical_block_size=512,multifunction=on,scsi=on,event_idx=on,indirect_desc=on,vectors=16,x-data-plane=off,ioeventfd=on,serial=fuxc,discard_granularity=1,min_io_size=4096,opt_io_size=4096 \ -usbdevice tablet -usbdevice mouse \ -netdev tap,id=hostnet0,vhost=on,id=hostnet0,script=/etc/qemu-ifup \ -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=c2:9a:2f:9c:de:10,bus=pci.0,addr=0x9,multifunction=on,status=on,gso=on,ioeventfd=on,vectors=8,indirect_desc=off,event_idx=off,guest_tso4=off,guest_tso6=on,guest_ecn=off,guest_ufo=on,host_tso4=off,host_tso6=on,host_ecn=on,mrg_rxbuf=off,ctrl_vq=on,host_ufo=on,mrg_rxbuf=on,ctrl_rx=on,ctrl_vlan=on,ctrl_rx_extra=on,ctrl_mac_addr=on 3<>/dev/tap3 \ -netdev tap,id=hostnet1,vhost=off,fd=4 \ -device e1000,netdev=hostnet1,id=virtio-net-pci1,mac=1a:d9:71:4a:35:a9,bus=pci.0,addr=0xa,multifunction=off 4<>/dev/tap4 \ -netdev tap,id=hostnet2,vhost=off,fd=5 \ -device rtl8139,netdev=hostnet2,id=virtio-net-pci2,mac=22:6f:4e:8f:62:21,bus=pci.0,addr=0xb,multifunction=off 5<>/dev/tap5 \ -serial unix:/tmp/monitor2,server,nowait \ -rtc base=utc -no-shutdown \ -drive file=/mnt/ide-disk,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,copy-on-read=off,serial=fux-ide,media=disk \ -device ide-drive,drive=drive-data-disk,id=system-disk,wwn=0x5000c50015ea71ad,logical_block_size=512,physical_block_size=512,min_io_size=32,opt_io_size=64,discard_granularity=512,ver=fuxc-ver,bus=ide.0,unit=0 \ -chardev tty,id=serial1,path=/dev/ttyS0 \ -device isa-serial,chardev=serial1 \ -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait \ -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait \ -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0 \ -chardev file,id=channel3,path=/mnt/helloworld1.txt \ -device virtserialport,chardev=channel3,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0,id=port1,nr=1 \ -chardev socket,id=isa-serial-1,path=/tmp/isa-serial-1,server,nowait \ -device isa-serial,chardev=isa-serial-1 -global pvpanic.ioport=0x0505 \ -machine rhel6.5.0,dump-guest-core=off \ -drive file=/mnt/en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw \ -device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-0,id=ide0-1-0,wwn=0x5000c50015ea71ade,logical_block_size=512,physical_block_size=512,min_io_size=32,opt_io_size=64,discard_granularity=512,unit=1,ver=fuxc-ver-cdrom,bus=ide.0,unit=1 \ -drive file=/mnt/win7sp1-32.raw,if=none,id=drive-scsi-disk,format=raw,cache=none,werror=stop,rerror=stop \ -device virtio-scsi-pci,id=scsi0,addr=0x13,vectors=16,indirect_desc=on,event_idx=off,hotplug=on,param_change=off,num_queues=1,max_sectors=512,cmd_per_lun=16,multifunction=on,rombar=64 \ -device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=data-disk2,logical_block_size=1024,physical_block_size=1024,min_io_size=512,opt_io_size=512,discard_granularity=512,ver=fuxc-scsi,serial=fuxc-scsi-serial,removable=off,wwn=0x16,channel=0 \ -device sga -spice port=5901,password=redhat-vga,disable-ticketing -vga qxl -global qxl-vga.vram_size=33554432 \ -device intel-hda,id=sound0,bus=pci.0 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \ -chardev socket,path=/tmp/foo,server,nowait,id=foo \ -drive file=/usr/share/virtio-win/virtio-win_amd64.vfd,if=none,id=drive-fdc0-0-0,readonly=on,format=raw \ -global isa-fdc.driveA=drive-fdc0-0-0 \ -device usb-ehci,id=ehci \ -device usb-storage,drive=drive-usb-0-1,id=usb-0-1,removable=on,bus=ehci.0,port=1 \ -drive file=/mnt/usb-ehci,if=none,id=drive-usb-0-1,media=disk,format=qcow2 \ -cdrom /mnt/driver.iso -incoming tcp::5800,server,nowait ============================ After migration finished: (qemu) info migrate Migration status: completed total time: 34778 milliseconds downtime: 34763 milliseconds transferred ram: 3839022 kbytes remaining ram: 820 kbytes total ram: 4293192 kbytes --- (qemu) info migrate Migration status: completed total time: 34778 milliseconds downtime: 34763 milliseconds transferred ram: 3839022 kbytes remaining ram: 820 kbytes total ram: 4293192 kbytes --- The "remaining ram" will not 0, but it won't change the value of "remaining ram" any more. It will keep the value of "820 kbytes".
This would be fixed on next release, so I am removing the need info.
Fix included in qemu-kvm-0.12.1.2-2.447.el6
Sorry, didn't saw the need info. This bug only happens _after_ guest has stoped on source. We were not stopping the network correctly and it overwrote some memory after being stopped. Didn't matter while the guest was running. As networking normally is able to survive with some packets lots, we didn't noticed before. What the code fixes is that not guest memory is touched after guest has stoped on source. So, we fixed the real problem, and as "collateral" the amount of ram remaining is zero O:-)
Moving it back to ASSIGNED, since the fix for Bug 970103 was reverted.
This BZ is TestOnly, so keeping status in sync with Bug 970103.
This bug is verified pass on the qemu-kvm-0.12.1.2-2.454.el6.x86_64. Same steps with bug description, after migration finished: (qemu) info migrate Migration status: completed total time: 17664 milliseconds downtime: 55 milliseconds transferred ram: 470226 kbytes remaining ram: 0 kbytes total ram: 4211072 kbytes
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-1275.html