Bug 949900

Summary: fail to do S3/S4 under Q35 machine type in rhel7
Product: Red Hat Enterprise Linux 7 Reporter: Sibiao Luo <sluo>
Component: qemu-kvmAssignee: Marcel Apfelbaum <marcel>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.0CC: amit.shah, chayang, flang, hhuang, jsnow, juzhang, knoel, michen, qzhang, rbalakri, sluo, virt-maint, xfu, xuhan
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: 2014-12-15 16:26:16 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
S3 screenshot.
none
S4 screenshot. none

Description Sibiao Luo 2013-04-09 08:58:05 UTC
Description of problem:
As subject. I tried the win 7 64bit guest to do S3/S4 under Q35, it will fail to do S3/S4, it will BSOD and reboot automaticly. the rhel7 guest will fail to do S3/S4, the guest kernel have no any info about it.

Version-Release number of selected component (if applicable):
host info:
kenrel-3.9.0-0.rc6.50.el7.x86_64
qemu-kvm-1.4.0-2.el7.x86_64
seabios-1.7.2-0.2.gita810e4e7.el7.x86_64
guest info:
win7 64bit
rhel7:kenrel-3.9.0-0.rc6.50.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot up a guest under Q35.
e.g:# /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/windows_7_ultimate_sp1_x64.raw,if=none,id=drive-system-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial=QEMU-DISK1 -device ide-hd,drive=drive-system-disk,id=system-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=off,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,id=e1000-net-pci0,mac=08:2e:5f:0a:0d:b1,bus=pcie.0,addr=0x4,bootindex=2 -balloon none -drive file=/home/my-data-disk.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial=QEMU-DISK2 -device ide-hd,drive=drive-data-disk,id=data-disk -usb -device usb-tablet,id=input0 -device usb-mouse,id=mouse -device usb-ehci,id=ehci,bus=pcie.0,addr=0x6 -drive file=/home/my-usb-storage.qcow2,if=none,id=storage0,media=disk,cache=none,format=qcow2 -device usb-storage,drive=storage0,id=usb-storage0,bus=ehci.0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -serial unix:/tmp/ttyS0,server,nowait -qmp tcp:0:4444,server,nowait -k en-us -boot menu=on -vnc :1 -spice disable-ticketing,port=5931 -vga qxl -monitor stdio
2.do S3/S4.
3.resume it.
  
Actual results:
after step 2,
win 7 64bit guest will fail to do S3/S4, it will BSOD and reboot automaticly, i will attach the screenshot for it. btw, it reboot so quickly that i cann't screenshot the S3 fully.
the rhel7 guest will fail to do S3/S4, the guest kernel log have no any info about it.

Expected results:
should support S3/S4 under Q35.

Additional info:

Comment 1 Sibiao Luo 2013-04-09 08:59:05 UTC
Created attachment 733063 [details]
S3 screenshot.

Comment 2 Sibiao Luo 2013-04-09 08:59:36 UTC
Created attachment 733064 [details]
S4 screenshot.

Comment 3 Sibiao Luo 2013-04-09 09:02:35 UTC
my qxl driver version: qxl-win-0.1-17

Comment 4 Michael S. Tsirkin 2013-04-10 19:09:20 UTC
is this a qxl thing? does it happen without?

Comment 5 Sibiao Luo 2013-04-11 01:57:59 UTC
(In reply to comment #4)
> is this a qxl thing? does it happen without?
No, not the qxl thing, it can happen without it, and the BSOD is the same. It cann't do S3/S4 under Q35.

Best Regards.
sluo

Comment 6 langfang 2013-07-05 17:15:35 UTC
Test on latest version:
Host:
# uname -r 
3.10.0-0.rc7.64.el7.x86_64
# rpm -q qemu-kvm
qemu-kvm-1.5.1-2.el7.x86_64

Senario 1) rhel7 guest

1.Boot guest 
 /usr/libexec/qemu-kvm -M q35 -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -name flang -uuid `uuidgen` -rtc base=localtime,clock=host,driftfix=slew -drive file=/root/flang/RHEL-7.0-20130628.0-Server-x86_64.qcow3,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0  -k en-us  -serial unix:/tmp/ttyS0,server,nowait -spice port=5900,disable-ticketing -vga std -monitor stdio

2.do S3
3.do S4

Results:
After step 2:

#nc -U /tmp/ttyS0
..
[  142.781600] PM: Syncing filesystems ... done.
[  142.783396] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  142.795649] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[  142.807634] Suspending console(s) (use no_console_suspend to debug)

...
(qemu) info status
VM status: paused (suspended)

After step 3:

Hit same problem as step2 ,but tried more than 10 times,only hit once.

Senario 2)win7 guest (virtio-win-prewhql-1.0-65)


1.Boot guest 
  /usr/libexec/qemu-kvm -M q35 -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -name flang -uuid `uuidgen` -rtc base=localtime,clock=host,driftfix=slew -drive file=/root/flang/win7-64-virtio.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0  -k en-us  -serial unix:/tmp/ttyS0,server,nowait -spice port=5900,disable-ticketing -vga qxl -monitor stdio 
Warning: option deprecated, use lost_tick_policy property of kvm-pit instead
2.Do S3
3.Do s4

Results:

After step 2:
BSOD

After step 3:
Pass


Summarize my test:
 
Host:rhel7
_____________________________________________________
|guest   |        disk           |   S3    |   S4      |
|________|_______________________|_________|___________|
|        |                       |         |           |
|RHEL7(64|     virtio-blk        | Fail    | Fail(once)|
|        |                       |         |           |
|________|_______________________|_________|___________|
|        |                       |         |           |
|Win7(64)|     virtio-blk        |Fail(BSOD| Pass      |
|        |                       |         |           |
|________|_______________________|_________|___________|


Fail(once):Tried more than 10 times ,hit once

Comment 7 Xu Han 2013-09-27 07:29:36 UTC
Test S3 with RHEL7 host and guest(latest version)

Version-Release number of selected component (if applicable):
qemu-kvm-rhev-1.5.3-6.el7.x86_64
kernel 3.10.0-28.el7.x86_64

Guest do S3 and wakeup would see result like comment 6. And then shutdown guest,
console show message:
[  OK  ] Reached target Shutdown.
Cannot finalize remaining file systems and devices, giving up.
dracut Warning: Killing all remaining processes
Powering off.
[  322.780436] Power down.

After these guest block in this status, and qemu cannot quit.

Comment 13 Sibiao Luo 2014-12-04 05:14:12 UTC
For comment #0 that use AHCI interface, but currently has bug for it Bug 1170122 - KVM guest fail to find system AHCI disk under Q35 chipset, so Amit recommended i use virtio device to try it.

According to the summarize in comment #11 and comment #12 that we have separated the different bug for different new issue, so I think we can close this bug 949900 to CURRENTRELEASE. Please correct me if any mistake, thanks.

Best Regards,
sluo

Comment 14 John Snow 2014-12-15 16:26:16 UTC
That seems correct to me. We have split apart this bug into component issues, so this one is no longer needed.

Thank you, sluo.
js