|
|
|
|
|
|
|
|
|
|
xen-api
[Xen-API] [PATCH 4 of 7] [XIU]: write control/feature-balloon 3s after s
# 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 ++++++++++++++++-
xen-api.hg-7.patch
Description: Text Data
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-API] [PATCH 0 of 7] Improvements to the hypercall simulator, David Scott
- [Xen-API] [PATCH 2 of 7] [XIU]: rename tot_mem -> tot_mem_kib and max_mem -> max_mem_kib, David Scott
- [Xen-API] [PATCH 4 of 7] [XIU]: write control/feature-balloon 3s after starting a simulated domain,
David Scott <=
- [Xen-API] [PATCH 1 of 7] [XIU]: store the physical memory used/free in KiB rather than MiB for consistency, David Scott
- [Xen-API] [PATCH 3 of 7] [XIU]: when a domain target is updated, transfer the memory immediately from the host, respecting both the domain's max_mem and the total amount of memory free on the host, David Scott
- [Xen-API] [PATCH 5 of 7] [XIU]: When destroying a domain in the simulator, give its memory back to xen, David Scott
- [Xen-API] [PATCH 7 of 7] [XIU]: increase the realism of the hypercall simulator by adding a constant amount of extra memory to tot_pages for every domain, David Scott
- [Xen-API] [PATCH 6 of 7] [XIU]: Add explicit HVM and HAP flags to Domctl_create in the simulator, David Scott
|
|
|
|
|