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/
Home Products Support Community News


RE: [Xen-devel] Xend crashes, how to debug?

To: 'Pasi Kärkkäinen' <pasik@xxxxxx>, Andrew Lyon <andrew.lyon@xxxxxxxxx>
Subject: RE: [Xen-devel] Xend crashes, how to debug?
From: Dave Scott <Dave.Scott@xxxxxxxxxxxxx>
Date: Mon, 30 Nov 2009 21:02:21 +0000
Accept-language: en-US
Acceptlanguage: en-US
Cc: Dennis Krul <dweazle@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 30 Nov 2009 13:02:49 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20091130201750.GQ16033@xxxxxxxxxxx>
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: <c6973d950911300651i3c2253c0o1a5ac44c1e2cb072@xxxxxxxxxxxxxx> <f4527be0911300732s60fa2963oae338238124fd834@xxxxxxxxxxxxxx> <20091130201750.GQ16033@xxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acpx+jfN99A7Bm8qSHGJEsnsKxvJMAAAHd5Q
Thread-topic: [Xen-devel] Xend crashes, how to debug?
The observation that speeding up xenstore reduces the frequency of crashes is 
interesting. Perhaps the failure happens when a concurrent transaction causes 
an abort? Maybe you could provoke it by running 'xm create' in a loop while 
also writing somewhere in xenstore? IIRC (although I could be mistaken) the 
standard C xenstore considers all concurrent transactions to be conflicting 
even if they operate on disjoint parts of the tree so provoking an abort would 
be easy.

> And XenServer is opensource now.. so you could always try the ocaml
> xend.
> Althought I'm not sure if it's easy/direct replacement..

Sorry, couldn't resist:
<begin advert>
Feel free to give it a go. Although it's still in development (it's in a bit of 
a stabilization phase atm) mysterious toolstack crashes / segfaults are rare 
(famous last words?). The kind of bugs it's currently suffering from are mostly 
to do with the new functionality we've been integrating recently e.g. RBAC, 
ballooning etc. For more normal stuff it ought to be pretty good.

1. We don't have an 'xm'... instead there's a CLI called 'xe' which can do 
almost everything the API can do but the syntax is different to 'xm'. You'd 
either have to port your scripts ('xe vm-start' rather than 'xm create'?) or 
write some kind of wrapper.

2. It's much easier to install and use the whole integrated patched xen + 
patched qemu + dom0 + toolstack rather than transplant the toolstack onto 
another dom0. I'm sure it's possible but we've been focusing dev + test on the 
single environment.

<end advert>

FWIW we also use an ocaml xenstore which handles concurrent transactions 
efficiently. There are some performance graphs here:


The reason we rewrote xenstored was because we used xenstore to report periodic 
guest performance stats to dom0. By doing this we accidentally created a 
horrible scalability bottleneck where, somewhere around 30 or 40 guests, every 
transaction aborted and the system livelocked. The new xenstored is smart 
enough to realize that these separate transactions are not conflicting and can 
be committed together.


Xen-devel mailing list