[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] pvops: Resume devices when suspend is failed


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, Jeremy Fitzhardinge <Jeremy.Fitzhardinge@xxxxxxxxxx>
  • From: Frank Pan <frankpzh@xxxxxxxxx>
  • Date: Fri, 4 Mar 2011 12:31:34 +0800
  • Cc:
  • Delivery-date: Thu, 03 Mar 2011 20:32:52 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=uGRGJcrUJHSC2rYnM6yKUdymTOf8tn9huGjJoSaL7BhPuSCDO/HorGMNSc85p6sjuY xHKntC0SjR6aQg7yF7psxU1kJ/LP7WkoqjOmOSEMNtvMI2LHLnlRhKN7SDdmiTwirTY8 IluUykwyHQfmjjfe6o72AN4/kbhOwzvis5tnQ=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Recent pvops kernel does not call dpm_resume_end when
dpm_suspend_start is failed. This makes some device remain suspended
after the unsuccessful call of do_suspend from xenbus.

In my test, a PV-on-HVM guest printed the following message after
received a suspend request through xenbus, and then stucked due to
disk access.

[41577.764748] sd 0:0:0:0: [sda] Stopping disk
[41577.765273] PM: Device input2 failed to suspend: error -22
[41577.765275] xen suspend: dpm_suspend_start -22

The following patch fixes this by calling dpm_suspend_start after the
failure of dpm_resume_end.
---
 linux-2.6-xen/drivers/xen/manage.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/linux-2.6-xen/drivers/xen/manage.c
b/linux-2.6-xen/drivers/xen/manage.c
index 5078704..3eec337 100644
--- a/linux-2.6-xen/drivers/xen/manage.c
+++ b/linux-2.6-xen/drivers/xen/manage.c
@@ -120,6 +120,7 @@ static void do_suspend(void)

        err = dpm_suspend_start(PMSG_SUSPEND);
        if (err) {
+               dpm_resume_end(PMSG_RESUME);
                printk(KERN_ERR "xen suspend: dpm_suspend_start %d\n", err);
                goto out_thaw;
        }
-- 
1.7.0.4


-- 
æéç, Frank Pan

Computer Science and Technology
Tsinghua University

Attachment: 0001-Resume-devices-when-suspend-is-failed.patch
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.