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

[Xen-devel] xenbus_transaction_end() and EAGAIN

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] xenbus_transaction_end() and EAGAIN
From: John Levon <levon@xxxxxxxxxxxxxxxxx>
Date: Wed, 4 Oct 2006 03:13:14 +0100
Delivery-date: Tue, 03 Oct 2006 19:13:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
I've just observed some very odd behaviour in our (essentially identical
to Linux's) xen_shutdown_handler():

xm save johnlev /var/tmp/img
xen_shutdown_handler: "suspend"
xen_shutdown_handler: ""

The first is the watch asking us to suspend. Then we get an EAGAIN and
loop around to try again, but this time the node is rewritten to be "",
as we requested via xenbus_write(). As far as I can see it shouldn't be
possible for our xenbus_write("") to have succeeded as part of the
failed transaction. Is it possible the EAGAIN is coming from the higher
levels somehow, rather than do_transaction_end() ?

Unfortunately I didn't have tracing on and have only ever reproduced
this once, so can't provide any more detail.

regards
john

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

<Prev in Thread] Current Thread [Next in Thread>