aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_domain_save.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-05-24 10:14:10 +0100
committerIan Campbell <ian.campbell@citrix.com>2011-05-24 10:14:10 +0100
commit84c8aada88692803cd3e48162c14d34d9b81cc0d (patch)
tree540371ff3bca1471ff330b9b8ea64a9c867645e3 /tools/libxc/xc_domain_save.c
parent3ab1cd75c8998755743eed0728ece17d87cafbb5 (diff)
downloadxen-84c8aada88692803cd3e48162c14d34d9b81cc0d.tar.gz
xen-84c8aada88692803cd3e48162c14d34d9b81cc0d.tar.bz2
xen-84c8aada88692803cd3e48162c14d34d9b81cc0d.zip
libxc: save: don't bother calculating stat's deltas unless we are going to print them
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
Diffstat (limited to 'tools/libxc/xc_domain_save.c')
-rw-r--r--tools/libxc/xc_domain_save.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c
index 08615979e1..271ce7f809 100644
--- a/tools/libxc/xc_domain_save.c
+++ b/tools/libxc/xc_domain_save.c
@@ -275,10 +275,6 @@ static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent,
static struct time_stats last;
struct time_stats now;
- long long wall_delta;
- long long d0_cpu_delta;
- long long d1_cpu_delta;
-
gettimeofday(&now.wall, NULL);
now.d0_cpu = xc_domain_get_cpu_usage(xch, 0, /* FIXME */ 0)/1000;
@@ -287,14 +283,19 @@ static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent,
if ( (now.d0_cpu == -1) || (now.d1_cpu == -1) )
DPRINTF("ARRHHH!!\n");
- wall_delta = tv_delta(&now.wall,&last.wall)/1000;
- if ( wall_delta == 0 )
- wall_delta = 1;
+ if ( print )
+ {
+ long long wall_delta;
+ long long d0_cpu_delta;
+ long long d1_cpu_delta;
+
+ wall_delta = tv_delta(&now.wall,&last.wall)/1000;
+ if ( wall_delta == 0 )
+ wall_delta = 1;
- d0_cpu_delta = (now.d0_cpu - last.d0_cpu)/1000;
- d1_cpu_delta = (now.d1_cpu - last.d1_cpu)/1000;
+ d0_cpu_delta = (now.d0_cpu - last.d0_cpu)/1000;
+ d1_cpu_delta = (now.d1_cpu - last.d1_cpu)/1000;
- if ( print )
DPRINTF("delta %lldms, dom0 %d%%, target %d%%, sent %dMb/s, "
"dirtied %dMb/s %" PRId32 " pages\n",
wall_delta,
@@ -303,6 +304,7 @@ static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent,
(int)((pages_sent*PAGE_SIZE)/(wall_delta*(1000/8))),
(int)((stats->dirty_count*PAGE_SIZE)/(wall_delta*(1000/8))),
stats->dirty_count);
+ }
last = now;