Bug 1170114

Summary: fail to repeat do suspend(S3) with rhel guest under Q35 chipset
Product: Red Hat Enterprise Linux 7 Reporter: Sibiao Luo <sluo>
Component: qemu-kvm-rhevAssignee: Amit Shah <amit.shah>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: amit.shah, chayang, hhuang, jsnow, juzhang, michen, pbonzini, virt-maint, wquan, xfu, xigao, yaxue
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-04 05:59:50 UTC Type: Bug
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: 923626    
Attachments:
Description Flags
guest-repeat-S3-kernel-log. none

Description Sibiao Luo 2014-12-03 10:14:17 UTC
Description of problem:
Found this bug when replied bug 949900.
According to Bug 1111107 that Q35 is no longer "tech preview" in RHEL7.x and is simply now unsupported (it will only be in qemu-kvm-rhev). And checked with Amit in IRC that both (q35 and s3/s4) are techpreview.

Version-Release number of selected component (if applicable):
# uname -r && rpm -q qemu-kvm-rhev
3.10.0-211.el7.x86_64
qemu-kvm-rhev-2.1.2-14.el7.x86_64
guest info:
3.10.0-211.el7.x86_64

How reproducible:
3/3

Steps to Reproduce:
1.boot up a rhel guest with "spcie+ qxl" under Q35 chipset without "-global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0" specified in command line.
2.do S3 and resume it, check the VM status and guest kernel log.
3.do second S3.

Actual results:
after step 2, do s3 and resume it successfully.
after step 3, it fail to s3 again and the vm status still running.

Expected results:
it can repeat do s3 and resume it successfully.

Additional info:
# /usr/libexec/qemu-kvm -S -M q35 -cpu SandyBridge -enable-kvm -m 4096 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection -name sluo-test -uuid ed09fa10-6ffe-4811-a42f-0294afcb5a42 -rtc base=localtime,clock=host,driftfix=slew -drive file=/home/rhel7-64.qcow2,if=none,id=drive-system-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,serial=QEMU-DISK1 -device virtio-blk-pci,drive=drive-system-disk,id=system-disk,bus=pcie.0,addr=0x04,bootindex=1 -netdev tap,id=hostnet0,vhost=off,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=08:2e:5f:0a:0d:b1,bus=pcie.0,addr=0x5,bootindex=2 -balloon none -usb -device usb-tablet,id=input0 -serial unix:/tmp/ttyS0,server,nowait -qmp tcp:0:4444,server,nowait -k en-us -boot menu=on -spice disable-ticketing,port=5931 -vga qxl -monitor stdio

Comment 1 Sibiao Luo 2014-12-03 10:17:08 UTC
Created attachment 964075 [details]
guest-repeat-S3-kernel-log.

Comment 2 Sibiao Luo 2014-12-03 10:19:34 UTC
BTW, also tried that repeat do hibernate(S4) and resume it successfully.

Comment 3 John Snow 2014-12-04 19:52:18 UTC
Possibly a duplicate of #929029

Comment 4 Yang Xue 2015-01-13 09:03:30 UTC
Hit another problem:
Host kernel:
kernel-3.10.0-220.el7.x86_64
qemu-kvm-rhev-2.1.2-17.el7.x86_64

1.Boot a guest with -M q35
2.Do S3 and wakeup
3.Do S4 

Result:
after step2 ,do s3 and resume it successfully. 
after step3 ,it fail to s4 and the vm status still running.
(qemu) info status 
VM status: running

CML:
/bin/qemu-kvm \
    -name 'virt-tests-vm1'  \
    -sandbox off  \
    -M q35  \
    -nodefaults  \
    -vga qxl  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20150108-002152-QY3ZWlQX,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20150108-002152-QY3ZWlQX,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20150108-002152-QY3ZWlQX,path=/tmp/seabios-20150108-002152-QY3ZWlQX,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20150108-002152-QY3ZWlQX,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pcie.0,addr=02 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0,addr=03 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/home/autotest-devel/client/tests/virt/shared/data/images/RHEL-Server-7.1-64-virtio-scsi.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device virtio-net-pci,mac=9a:95:96:97:98:99,id=id8a8gkG,vectors=4,netdev=idoFia4I,bus=pcie.0,addr=04  \
    -netdev tap,id=idoFia4I,vhost=on \
    -m 4096  \
    -smp 2,maxcpus=2,cores=1,threads=1,sockets=2  \
    -cpu 'Opteron_G3',+kvm_pv_unhalt \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -spice port=3000,password=123456,addr=0,image-compression=auto_glz,zlib-glz-wan-compression=auto,streaming-video=all,agent-mouse=on,playback-compression=on,ipv4  \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off  \
    -global PIIX4_PM.disable_s4=0 \
    -global PIIX4_PM.disable_s3=0 \
    -enable-kvm \
    -device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=05 \
    -monitor stdio