diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-05-24 10:14:10 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2011-05-24 10:14:10 +0100 |
commit | 3ab1cd75c8998755743eed0728ece17d87cafbb5 (patch) | |
tree | c5363a439405214c84057848980f91dbdf4d151b /tools/libxc/xc_domain_save.c | |
parent | 5bf59f752e7b4f493f9f3b4454cbc42bc82d06d1 (diff) | |
download | xen-3ab1cd75c8998755743eed0728ece17d87cafbb5.tar.gz xen-3ab1cd75c8998755743eed0728ece17d87cafbb5.tar.bz2 xen-3ab1cd75c8998755743eed0728ece17d87cafbb5.zip |
libxc: save: encapsulate time stats in a struct
As a precursor to making non-static.
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.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c index 639488c24d..08615979e1 100644 --- a/tools/libxc/xc_domain_save.c +++ b/tools/libxc/xc_domain_save.c @@ -264,32 +264,35 @@ static inline int write_uncached(xc_interface *xch, return noncached_write(xch, ob, fd, buf, len); } +struct time_stats { + struct timeval wall; + long long d0_cpu, d1_cpu; +}; + static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent, xc_shadow_op_stats_t *stats, int print) { - static struct timeval wall_last; - static long long d0_cpu_last; - static long long d1_cpu_last; + static struct time_stats last; + struct time_stats now; - struct timeval wall_now; - long long wall_delta; - long long d0_cpu_now, d0_cpu_delta; - long long d1_cpu_now, d1_cpu_delta; + long long wall_delta; + long long d0_cpu_delta; + long long d1_cpu_delta; - gettimeofday(&wall_now, NULL); + gettimeofday(&now.wall, NULL); - d0_cpu_now = xc_domain_get_cpu_usage(xch, 0, /* FIXME */ 0)/1000; - d1_cpu_now = xc_domain_get_cpu_usage(xch, domid, /* FIXME */ 0)/1000; + now.d0_cpu = xc_domain_get_cpu_usage(xch, 0, /* FIXME */ 0)/1000; + now.d1_cpu = xc_domain_get_cpu_usage(xch, domid, /* FIXME */ 0)/1000; - if ( (d0_cpu_now == -1) || (d1_cpu_now == -1) ) + if ( (now.d0_cpu == -1) || (now.d1_cpu == -1) ) DPRINTF("ARRHHH!!\n"); - wall_delta = tv_delta(&wall_now,&wall_last)/1000; + wall_delta = tv_delta(&now.wall,&last.wall)/1000; if ( wall_delta == 0 ) wall_delta = 1; - d0_cpu_delta = (d0_cpu_now - d0_cpu_last)/1000; - d1_cpu_delta = (d1_cpu_now - d1_cpu_last)/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, " @@ -301,9 +304,7 @@ static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent, (int)((stats->dirty_count*PAGE_SIZE)/(wall_delta*(1000/8))), stats->dirty_count); - d0_cpu_last = d0_cpu_now; - d1_cpu_last = d1_cpu_now; - wall_last = wall_now; + last = now; return 0; } |