Bug 968940 - [virtio-win][scsi] windows guest will hang after do ping-pong migrate under I/O throttling
[virtio-win][scsi] windows guest will hang after do ping-pong migrate under I...
Status: CLOSED NEXTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virtio-win (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: 7.0
Assigned To: Vadim Rozenfeld
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-30 06:21 EDT by Sibiao Luo
Modified: 2014-08-11 08:55 EDT (History)
14 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-08-11 08:55:00 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Sibiao Luo 2013-05-30 06:21:06 EDT
Description of problem:
boot the source guest with specifying bps and iops value for virtio-scsi disk, the destination append '-incoming tcp:0:5888,server,nowait', run sequential read/write in guest during ping-pong migration, the guest hang there after migration. 
BTW, 
1.It can not met this issue if i do not run the sequential read/write in guest.
2.rhel7 guest did not met such issue.

Version-Release number of selected component (if applicable):
host info:
kernel-3.10.0-0.rc2.57.el7.x86_64
qemu-kvm-1.5.0-2.el7.x86_64
guest info:
windows_8_enterprise_x86

How reproducible:
4/4

Steps to Reproduce:
1.boot the source guest with specifying bps and iops value for virtio-scsi disk, the destination append '-incoming tcp:0:5888,server,nowait'.
# /usr/libexec/qemu-kvm -cpu SandyBridge -M pc-i440fx-1.5...-drive file=/dev/sluo_vg/my-data-disk.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,bps=102400,iops=100 -device virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi1 -device scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi1.0
2.ping-pong migrate the guest.
(qemu) migrate -d tcp: $host_ip: $port
3.do ping-pong migration with sequential write and read running in guest.
> fio.exe --filename=E:\file --direct=1 --rw=wr --bs=1M --size=100M --name=test --iodepth=1 --ioengine=windowsaio

Actual results:
after step 3, guest will hang that the mouse can move here and there but cann't hit anything in guest.
- src:
(qemu) migrate -d tcp:0:5888
(qemu) info migrate
capabilities: xbzrle: off 
Migration status: completed
total time: 103033 milliseconds
downtime: 72 milliseconds
transferred ram: 3378093 kbytes
remaining ram: 0 kbytes
total ram: 4325960 kbytes
duplicate: 665607 pages
skipped: 619998 pages
normal: 842775 pages
normal bytes: 3371100 kbytes
(qemu) q

-dest:
(qemu) info status 
VM status: paused (inmigrate)
(qemu) main_channel_link: add main channel client
main_channel_handle_parsed: net test: latency 0.946000 ms, bitrate 9941747572 bps (9481.189320 Mbps)
inputs_connect: inputs channel client create
red_dispatcher_set_cursor_peer: 
(qemu) cont
(qemu) info status 
VM status: running

Expected results:
guest should work well after ping-pong migration.

Additional info:
# /usr/libexec/qemu-kvm -cpu SandyBridge -M pc-i440fx-1.5 -enable-kvm -S -m 4G -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo-test -uuid ee095d2a-1c88-46b5-90c1-511a393c39b5 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/dev/sluo_vg/windows_8_enterprise_x86.raw,if=none,id=drive-system-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x4,id=scsi0 -device scsi-hd,drive=drive-system-disk,id=system-disk,bus=scsi0.0,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=08:2e:5f:0a:0d:a2,bus=pci.0,addr=0x5,bootindex=2 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -qmp tcp:0:4444,server,nowait -vnc :1 -spice port=5931,disable-ticketing -boot menu=on -vga qxl -global qxl-vga.vram_size=67108864 -serial unix:/tmp/ttyS0,server,nowait -monitor stdio -drive file=/dev/sluo_vg/my-data-disk.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,bps=102400,iops=100 -device virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi1 -device scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi1.0
Comment 2 Sibiao Luo 2013-05-30 21:41:48 EDT
(In reply to Sibiao Luo from comment #0)
> Description of problem:
> Steps to Reproduce:
> 1.boot the source guest with specifying bps and iops value for virtio-scsi
> disk, the destination append '-incoming tcp:0:5888,server,nowait'.
> # /usr/libexec/qemu-kvm -cpu SandyBridge -M pc-i440fx-1.5...-drive
> file=/dev/sluo_vg/my-data-disk.raw,if=none,id=drive-data-disk,format=raw,
> cache=none,aio=native,werror=stop,rerror=stop,bps=102400,iops=100 -device
> virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi1 -device
> scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi1.0
> 2.ping-pong migrate the guest.
> (qemu) migrate -d tcp: $host_ip: $port
after step 2, the guest work well after ping-pong migration.

> 3.do ping-pong migration with sequential write and read running in guest.
> > fio.exe --filename=E:\file --direct=1 --rw=wr --bs=1M --size=100M --name=test --iodepth=1 --ioengine=windowsaio
>

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