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

[Xen-devel] [PATCH 4 of 4] Linux/xencommons: Use oxenstored by default when available



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1323448636 0
# Node ID 3b7ac401f144206c30440fbb41c74b13fa20b8cb
# Parent  74f94e15bfe1dad412d0342aeabdbd895657f54f
Linux/xencommons: Use oxenstored by default when available

oxenstored is an ocaml implementation of the xenstore daemon. It is faster,
more scalable and more reliable than the C xenstored.

In particular the transaction model in oxenstored does not involve taking a
complete copy of the database and aborting on any (even non-conflicting) other
change.

There is a paper on the design and implementation of oxenstored at
http://gazagnaire.org/pub/GH09.pdf which includes a performance evaluation and
comparison with the C daemon etc.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 74f94e15bfe1 -r 3b7ac401f144 
tools/hotplug/Linux/init.d/sysconfig.xencommons
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons   Fri Dec 09 16:35:56 
2011 +0000
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons   Fri Dec 09 16:37:16 
2011 +0000
@@ -1,6 +1,9 @@
 # Log xenconsoled messages (cf xl dmesg)
 XENCONSOLED_TRACE=guest
 
+# Select xenstored implementation
+#XENSTORED=[oxenstored|xenstored]
+
 # Log xenstored messages
 #XENSTORED_TRACE=[yes|on|1]
 
diff -r 74f94e15bfe1 -r 3b7ac401f144 tools/hotplug/Linux/init.d/xencommons
--- a/tools/hotplug/Linux/init.d/xencommons     Fri Dec 09 16:35:56 2011 +0000
+++ b/tools/hotplug/Linux/init.d/xencommons     Fri Dec 09 16:37:16 2011 +0000
@@ -70,8 +70,19 @@ do_start () {
                rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
                test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T 
/var/log/xen/xenstored-trace.log"
 
-               echo -n Starting xenstored...
-               xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
+               if [ -n "$XENSTORED" ] ; then
+                   echo -n Starting $XENSTORED...
+                   $XENSTORED --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
+               elif [ -x /usr/sbin/oxenstored ] ; then
+                   echo -n Starting oxenstored...
+                   /usr/sbin/oxenstored --pid-file /var/run/xenstored.pid 
$XENSTORED_ARGS
+               elif [ -x /usr/sbin/xenstored ] ; then
+                   echo -n Starting C xenstored...
+                   /usr/sbin/xenstored --pid-file /var/run/xenstored.pid 
$XENSTORED_ARGS
+               else
+                   echo "No xenstored found"
+                   exit 1
+               fi
 
                # Wait for xenstored to actually come up, timing out after 30 
seconds
                 while [ $time -lt $timeout ] && ! `xenstore-read -s / 
>/dev/null 2>&1` ; do

_______________________________________________
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®.