WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] serialize suspend-resume process

To: BVK Chaitanya <bayapuneni_chaitanya@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] serialize suspend-resume process
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Thu, 31 Jul 2008 14:07:02 +0100
Cc: Xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 31 Jul 2008 06:07:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4891B841.2090901@xxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcjzDlKLkTMSgF8BEd2L3gAX8io7RQ==
Thread-topic: [Xen-devel] [PATCH] serialize suspend-resume process
User-agent: Microsoft-Entourage/11.4.0.080122


On 31/7/08 14:04, "BVK Chaitanya" <bayapuneni_chaitanya@xxxxxxxxxxxx> wrote:

>> That isn't true. xen_suspend() can only be re-entered after it has switched
>> the 'shutting_down' variable to SHUTDOWN_INVALID. At this point resume work
>> is completed (except perhaps for resuming some PV devices via xenbus, which
>> is done asynchronously).
>> 
> 
> This is the case if suspend is invoked through xenbus interface.
> 
> With suspend event channel in place, i see that suspend request doesn't
> go through the shutdown_handler function when suspend is triggered over
> event channel.

Oh, I agree that the shutdown_handler() can be re-entered! But it will *not*
trigger multiple invocations of xen_suspend() -- note it stores away the
suspend request by performing xchg(&shutting_down, ...) but it does *not*
immediately trigger a suspend unless old_state==SHUTDOWN_INVALID (in which
case there is no active current invocation of xen_suspend()).

 -- Keir



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