|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating che 
| To: | Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> |  
| Subject: | Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating checkpoint on Xen. |  
| From: | Ian Campbell <ijc@xxxxxxxxxxxxxx> |  
| Date: | Thu, 10 Feb 2011 11:40:05 +0000 |  
| Cc: | "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>,	LKML <linux-kernel@xxxxxxxxxxxxxxx>, "Rafael J. Wysocki" <rjw@xxxxxxx>,	Brendan Cully <brendan@xxxxxxxxx>, "linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx"	<linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx>, "SUZUKI,	Kazuhiro" <kaz@xxxxxxxxxxxxxx> |  
| Delivery-date: | Thu, 10 Feb 2011 03:40:51 -0800 |  
| Envelope-to: | www-data@xxxxxxxxxxxxxxxxxxx |  
| In-reply-to: | <Pine.LNX.4.44L0.1102091837050.18843-100000@xxxxxxxxxxxxxxxxxxxx> |  
| List-help: | <mailto:xen-devel-request@lists.xensource.com?subject=help> |  
| List-id: | Xen developer discussion <xen-devel.lists.xensource.com> |  
| List-post: | <mailto:xen-devel@lists.xensource.com> |  
| List-subscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |  
| List-unsubscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |  
| References: | <Pine.LNX.4.44L0.1102091837050.18843-100000@xxxxxxxxxxxxxxxxxxxx> |  
| Sender: | xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |  
| On Wed, 2011-02-09 at 23:42 +0000, Alan Stern wrote:
> In fact there already is a "fast suspend & resume" path in the PM core.  
> It's the freeze/thaw procedure used when starting to hibernate.  The
> documentation specifically says that drivers' freeze methods are
> supposed to quiesce their devices but not change power levels.  In
> addition, the thaw method is invoked as part of recovery from a failed
> hibernation attempt, so it already has the "cancel" semantics that xen 
> seems to want.
Sounds like that would work and I would much prefer to simply make
correct use of the core functionality.
So PMSG_FREEZE is balanced by either PMSG_RECOVER or PMSG_THAW depending
on whether the suspend was cancelled or not? So the sequence of events
is something like:
        dpm_suspend_start(PMSG_FREEZE);
         
                dpm_suspend_noirq(PMSG_FREEZE);
                         
                        sysdev_suspend(PMSG_QUIESCE);
                        cancelled = suspend_hypercall()
                        sysdev_resume();
                 
                dpm_resume_noirq(cancelled ? PMSG_RECOVER : PMSG_THAW);
         
        dpm_resume_end(cancelled ? PMSG_RECOVER : PMSG_THAW);
?
(For comparison we currently have:
> > >         dpm_suspend_start(PMSG_SUSPEND);
> > >         
> > >                 dpm_suspend_noirq(PMSG_SUSPEND);
> > >                         
> > >                         sysdev_suspend(PMSG_SUSPEND);
> > >                         /* suspend hypercall */
> > >                         sysdev_resume();
> > >                 
> > >                 dpm_resume_noirq(PMSG_RESUME);
> > >         
> > >         dpm_resume_end(PMSG_RESUME);
)
Ian.
-- 
Ian Campbell
Current Noise: Neil Young - Angry World
If only one could get that wonderful feeling of accomplishment without
having to accomplish anything.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-devel] [PATCH 0/2] Fix hangup after creating checkpoint on Xen., SUZUKI, Kazuhiro
[Xen-devel] [PATCH 1/2] Fix hangup after creating checkpoint on Xen., SUZUKI, Kazuhiro
[Xen-devel] [PATCH 2/2] Fix hangup after creating checkpoint on Xen., SUZUKI, Kazuhiro
[Xen-devel] Re: [PATCH 0/2] Fix hangup after creating checkpoint on	Xen., Rafael J. Wysocki
[Xen-devel] Re: [PATCH 0/2] Fix hangup after creating checkpoint on	Xen., Ian Campbell
[Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating checkpoint on Xen., Alan Stern
[Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating checkpoint on Xen., Ian Campbell
[Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating checkpoint on Xen., Brendan Cully
[Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating checkpoint on Xen., Alan Stern
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating checkpoint on Xen.,
Ian Campbell <=
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating	checkpoint on Xen., Alan Stern
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating	checkpoint on Xen., Rafael J. Wysocki
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating checkpoint on Xen., Ian Campbell
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating	checkpoint on Xen., Rafael J. Wysocki
[Xen-devel] [PATCH] update comments in pm.h describing Xen Guest	save/restore/checkpoint use case, Shriram Rajagopalan
Re: [Xen-devel] [PATCH] update comments in pm.h describing Xen	Guest save/restore/checkpoint use case, Ian Campbell
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating	checkpoint on Xen., Alan Stern
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating checkpoint on Xen., Ian Campbell
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after	creating checkpoint on Xen., Ian Campbell
Re: [Xen-devel] Re: [linux-pm] [PATCH 0/2] Fix hangup after creating	checkpoint on Xen., Brendan Cully
 |  |  | 
  
    |  |  |