currently xcinfo2xlinfo reads tot_pages and uses that data to calculate
max_memkb, while tot_pages is the memory currently used by the domain
and max_pages is the theoretical maximum.
This patch calculates max_memkb from max_pages and introduces
current_memkb to store the current memory usage.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
diff -r eff592364826 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c Wed Sep 01 11:23:49 2010 +0100
+++ b/tools/libxl/libxl.c Thu Sep 02 10:51:45 2010 +0100
@@ -543,7 +543,8 @@ static void xcinfo2xlinfo(const xc_domai
else
xlinfo->shutdown_reason = ~0;
- xlinfo->max_memkb = PAGE_TO_MEMKB(xcinfo->tot_pages);
+ xlinfo->current_memkb = PAGE_TO_MEMKB(xcinfo->tot_pages);
+ xlinfo->max_memkb = PAGE_TO_MEMKB(xcinfo->max_pages);
xlinfo->cpu_time = xcinfo->cpu_time;
xlinfo->vcpu_max_id = xcinfo->max_vcpu_id;
xlinfo->vcpu_online = xcinfo->nr_online_vcpus;
diff -r eff592364826 tools/libxl/libxl.idl
--- a/tools/libxl/libxl.idl Wed Sep 01 11:23:49 2010 +0100
+++ b/tools/libxl/libxl.idl Thu Sep 02 10:51:45 2010 +0100
@@ -36,6 +36,7 @@ libxl_dominfo = Struct("dominfo",[
Otherwise set to a value guaranteed not to clash with any valid
SHUTDOWN_* constant."""),
+ ("current_memkb", uint64),
("max_memkb", uint64),
("cpu_time", uint64),
("vcpu_max_id", uint32),
diff -r eff592364826 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Wed Sep 01 11:23:49 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c Thu Sep 02 10:51:45 2010 +0100
@@ -2209,7 +2205,7 @@ static void list_domains(int verbose, co
printf("%-40s %5d %5lu %5d %c%c%c%c%c%c %8.1f",
domname,
info[i].domid,
- (unsigned long) (info[i].max_memkb / 1024),
+ (unsigned long) (info[i].current_memkb / 1024),
info[i].vcpu_online,
info[i].running ? 'r' : '-',
info[i].blocked ? 'b' : '-',
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|