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

[Xen-API] [PATCH 4 of 7] [XIU]: write control/feature-balloon 3s after starting a simulated domain



# HG changeset patch
# User David Scott <dave.scott@xxxxxxxxxxxxx>
# Date 1259361889 0
# Node ID 099e85cfc1fee37b949f20ae56ff85125380a956
# Parent  b78334e85b36387b511281266fd2992c554f1842
[XIU]: write control/feature-balloon 3s after starting a simulated domain.

Signed-off-by: David Scott <dave.scott@xxxxxxxxxxxxx>

diff -r b78334e85b36 -r 099e85cfc1fe ocaml/xiu/xiu.ml
--- a/ocaml/xiu/xiu.ml  Fri Nov 27 22:44:48 2009 +0000
+++ b/ocaml/xiu/xiu.ml  Fri Nov 27 22:44:49 2009 +0000
@@ -426,6 +426,11 @@
                in
 
        with_xs_retry (fun xs ->
+               (* booting *)
+               Thread.delay 3.;
+               
+               let written_feature_balloon = ref false in
+
                (* install watches *)
                xs.Xs.watch (mypath ^ "control/shutdown") "control";
                xs.Xs.watch (mypath ^ "device") "device";
@@ -446,7 +451,17 @@
                                | "backend" -> backend_changed xs w
                                | "device"  -> device_changed xs w
                                | "control" -> control_changed xs w
-                               | "balloon" -> read_memory_target xs domid
+                               | "balloon" -> 
+                                         (* NB normally the domain builder + 
qemu would allocate memory during boot, then
+                                                the PV drivers would write 
feature-balloon and then we would sample the 
+                                                memory-offset. In the 
simulator there is no domain builder and the first time
+                                                the memory/target watch fires 
is when we allocate all the memory.
+                                                Make sure we allocate the 
memory before writing feature-balloon: *)
+                                         read_memory_target xs domid;
+                                         if not !written_feature_balloon then 
begin
+                                               xs.Xs.write (mypath ^ 
"control/feature-balloon") "true";
+                                               written_feature_balloon := true
+                                         end;
                                | _         -> add_console (sprintf "dom0: 
unknown watch %s,%s" w v);
                                end;
                                match !shutdowning with
1 file changed, 16 insertions(+), 1 deletion(-)
ocaml/xiu/xiu.ml |   17 ++++++++++++++++-


Attachment: xen-api.hg-7.patch
Description: Text Data

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.