Bug 1357202 - [Q35] S3 should be disabled by default for the pc-q35-rhel7.3.0 machine type
Summary: [Q35] S3 should be disabled by default for the pc-q35-rhel7.3.0 machine type
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Amit Shah
QA Contact: jingzhao
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-16 14:08 UTC by Laszlo Ersek
Modified: 2017-06-28 07:38 UTC (History)
8 users (show)

Fixed In Version: qemu-kvm-rhev-2.6.0-19.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-07 21:24:36 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2673 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2016-11-08 01:06:13 UTC

Description Laszlo Ersek 2016-07-16 14:08:49 UTC
*** Description of problem:
Minimally from RHEL-7.3 onward, but possibly also from earlier on, we offer no support for S3 suspend/resume in virtual machines. Our downstream i440fx machine types comply with this (they set PIIX4_PM.disable_s3=1 by default); however, the pc-q35-rhel7.3.0 machine type does not do the same (i.e., it does not ensure ICH9-LPC.disable_s3=1).

Libvirt supports these configuration items explicitly:

  <http://libvirt.org/formatdomain.html#elementsPowerManagement>

However, if the <pm> element is not spelled out in the domain XML (which is the default), then "the hypervisor will be left with its default value".

It is this QEMU default that we should set to "S3 disabled" in qemu-kvm-rhev, for the pc-q35-rhel7.3.0 machine type as well.

*** Version-Release number of selected component (if applicable):
qemu-kvm-rhev: 2.6.0-13.el7.x86_64
libvirt: 2.0.0-2.el7.x86_64

*** How reproducible:
100%

*** Steps to Reproduce:
1. Install a guest firmware + guest OS configuration that *happens* to support
   S3. For example, OVMF + Fedora/RHEL7 + QXL.
2. Make sure that the domain XML does not contain the <pm> element.
3. Switch to one of the character terminals in the guest, and issue the
   command "pm-suspend".

*** Actual results:
The guest suspends, and virt-manager displays "Suspended" as guest status. ("virsh list" will list the guest as "pmsuspended".)

*** Expected results:
The pm-suspend command returns immediately. The VM's status is displayed as Running (in virt-manager and virsh list).

Comment 6 Miroslav Rezanina 2016-08-05 10:57:03 UTC
Fix included in qemu-kvm-rhev-2.6.0-19.el7

Comment 8 jingzhao 2016-08-23 03:32:05 UTC
Reproduced on host kernel-3.10.0-327.8.1.el7.x86_64 and qemu-kvm-rhev-2.3.0-31.el7_2.21.x86_64.

1.Boot guest without "-global PIIX4_PM.disable_s3=1"
/usr/libexec/qemu-kvm \
-M q35 \
-cpu SandyBridge \
-nodefaults -rtc base=utc \
-m 4G \
-smp 2,sockets=2,cores=1,threads=1 \
-enable-kvm \
-name rhel7.3 \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 \
-k en-us \
-nodefaults \
-serial unix:/tmp/serial0,server,nowait \
-boot menu=on \
-bios /usr/share/seabios/bios.bin \
-chardev file,path=/home/seabios.log,id=seabios \
-device isa-debugcon,chardev=seabios,iobase=0x402 \
-qmp tcp:0:6666,server,nowait \
-device VGA,id=video \
-vnc :2 \
-device ioh3420,id=root.0,slot=1 \
-drive file=/home/big.img,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \
-device virtio-blk-pci,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bus=root.0,bootindex=1 \
-device ioh3420,id=root.1,slot=2 \
-device x3130-upstream,bus=root.1,id=upstream1 \
-device xio3130-downstream,bus=upstream1,id=downstream1,chassis=1 \
-device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,bus=downstream1 -netdev tap,id=tap10 \
-monitor stdio \

2.In guest, executed "pm-suspend"
3.Check the status in hmp
(qemu) info status
VM status: paused (suspended)

Verified it on host kernel:3.10.0-492.el7.x86_64 and qemu-kvm-rhev-2.6.0-20.el7.x86_64
1) seabios:seabios-bin-1.9.1-4.el7.noarch
a.Boot guest without "-global PIIX4_PM.disable_s3=1"
b.In guest executed "pm-suspend" and returned immediately
c.check the guest status in hmp
(qemu) info status
VM status: running

2)OVMF:OVMF-20160608-3.git988715a.el7.noarch
a.boot guest with following cmd
/usr/libexec/qemu-kvm \
-M q35 \
-cpu SandyBridge \
-nodefaults -rtc base=utc \
-m 4G \
-smp 2,sockets=2,cores=1,threads=1 \
-enable-kvm \
-name rhel7.3 \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-k en-us \
-drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/home/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
-nodefaults \
-qmp tcp:0:6666,server,nowait \
-vga qxl \
-vnc :2 \
-device ioh3420,id=root.0,slot=1 \
-drive file=/home/ovmf.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \
-device virtio-blk-pci,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bus=root.0,bootindex=1 \
-device ioh3420,id=root.1,slot=2 \
-device x3130-upstream,bus=root.1,id=upstream1 \
-device xio3130-downstream,bus=upstream1,id=downstream1,chassis=1 \
-device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,bus=downstream1 -netdev tap,id=tap10 \
-monitor stdio \

2.In guest, executed "pm-suspend" and returned immediately
3. check the guest status in hmp
(qemu) info status
VM status: running

Thanks
Jing Zhao

Comment 11 errata-xmlrpc 2016-11-07 21:24:36 UTC
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-2016-2673.html


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