Bug 661970

Summary: RHEL6 HVM guest S4 suspend to disk failed with xen_pv_hvm=eanble
Product: Red Hat Enterprise Linux 6 Reporter: Lei Wang <leiwang>
Component: kernelAssignee: Andrew Jones <drjones>
Status: CLOSED CANTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: byu, drjones, pbonzini, xen-maint, yuzhang
Target Milestone: rcKeywords: TestOnly
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-27 06:45:10 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 627565    
Bug Blocks: 523117    
Attachments:
Description Flags
guest config file
none
xend.log
none
xm dmesg
none
crash info get from the dump core none

Description Lei Wang 2010-12-10 02:27:26 EST
Created attachment 467913 [details]
guest config file

Description of problem:
Suspend RHEL6 HVM guest to disk works with 1 vcpu and no pv_on_hvm driver, but once I add xen_pv_hvm=enable to guest command line, "echo disk > /sys/power/state" then recreate the guest will crash.

Version-Release number of selected component (if applicable):
xen-3.0.3-120.el5
kernel-xen-2.6.18-236.el5
RHEL6.0 guest: kernel-2.6.32-71.el6

How reproducible:
100%

Steps to Reproduce:
1.Create RHEL6 HVM guest with 1 vcpu, add pv_on_hvm=enable to guest kernel command line
2.Check whether S4 is supported, "cat /sys/power/state"
3.Trigger S4 from within guest, "echo disk > /sys/power/state"
4.Create the guest again

Actual results:
At step3,
[root@dhcp-66-92-66 ~]# echo disk > /sys/power/state
WARNING: g.e. still in use!
WARNING: g.e. still in use!
Power down.
At step4,
RHEL6 HVM guest fails to boot and crashes.

Expected results:
S4 for RHEL6 HVM guest should work even if we load pv_on_hvm driver.

Additional info:
S4 for RHEL6 HVM guest works with 1 vcpu and no pv_on_hvm driver. That is to say when create the guest again, the guest keeps the previous status before suspend to disk.
Comment 1 Lei Wang 2010-12-10 02:28:04 EST
Created attachment 467914 [details]
xend.log
Comment 2 Lei Wang 2010-12-10 02:28:28 EST
Created attachment 467915 [details]
xm dmesg
Comment 3 Lei Wang 2010-12-10 02:29:02 EST
Created attachment 467916 [details]
crash info get from the dump core
Comment 5 Andrew Jones 2010-12-10 04:24:34 EST
Isn't this a dup of bug 627565, but the rhel6 case? Also, what does "works" mean in this context?

"Suspend RHEL6 HVM guest to disk works with 1 vcpu and no pv_on_hvm driver"

What is the expected result of the a "suspended to disk" guest? It doesn't seem like a feature a guest can use. But I could be wrong, please explain.
Comment 6 Lei Wang 2010-12-10 04:53:36 EST
(In reply to comment #5)
> Isn't this a dup of bug 627565, but the rhel6 case? Also, what does "works"
> mean in this context?
> 
In bug 627565, I tested rhel6 hvm guest suspend to disk, it worked as expected.
But recently I found with pv_on_hvm driver it doesn't work and without pv_on_hvm driver it works.

Here "works" means:
1) run a background process in the guest
2) echo disk > /sys/power/state, then guest's current status was saved and then the guest was destroyed
3) xm create the guest again, the background process is still running, the guest resumes its previous status.

> "Suspend RHEL6 HVM guest to disk works with 1 vcpu and no pv_on_hvm driver"
> 
> What is the expected result of the a "suspended to disk" guest? It doesn't seem
> like a feature a guest can use. But I could be wrong, please explain.

Actually this is documented in Xen IEEE Test Plan:
https://riddler.bne.redhat.com/IEEE_Test_Plans/en-US/RHEL/5.6/html/Xen_IEEE_Test_Plan/Test_design-Power_Management-ACPI.html

I referred to kvm IEEE Test Plan when doing feature research, it support S3 and S4 for guest. So I guess rhel6 should support S4 as a xen HVM guest, if I'm right.
Comment 7 Andrew Jones 2010-12-10 05:17:42 EST
(In reply to comment #6)
> Here "works" means:
> 1) run a background process in the guest
> 2) echo disk > /sys/power/state, then guest's current status was saved and then
> the guest was destroyed
> 3) xm create the guest again, the background process is still running, the
> guest resumes its previous status.

Cool that that works. Too bad it's broken with pv drivers. I'll see if Don has time to take a look, assigning to him for now.
Comment 8 RHEL Product and Program Management 2011-01-06 23:45:26 EST
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.
Comment 9 Suzanne Yeghiayan 2011-01-07 11:21:58 EST
This request was erroneously denied for the current release of Red Hat
Enterprise Linux.  The error has been fixed and this request has been
re-proposed for the current release.
Comment 11 RHEL Product and Program Management 2011-02-01 01:16:34 EST
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.
Comment 13 RHEL Product and Program Management 2011-02-01 13:58:13 EST
This request was erroneously denied for the current release of
Red Hat Enterprise Linux.  The error has been fixed and this
request has been re-proposed for the current release.
Comment 16 Paolo Bonzini 2011-06-27 06:45:10 EDT
Since the corresponding hypervisor support is not going to be fixed in RHEL5, this cannot be fixed in RHEL6 either.  We should put together a knowledge base article or virtguide update, though.