[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxc: save: move static stats variable to stack variable.
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1306228450 -3600 # Node ID c0d31d436dea134ea399653686df24dc12910aa1 # Parent 89a7f356a864237249b88cefafea0265abf6afb2 libxc: save: move static stats variable to stack variable. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> --- diff -r 89a7f356a864 -r c0d31d436dea tools/libxc/xc_domain_save.c --- a/tools/libxc/xc_domain_save.c Tue May 24 10:14:10 2011 +0100 +++ b/tools/libxc/xc_domain_save.c Tue May 24 10:14:10 2011 +0100 @@ -270,9 +270,9 @@ }; static int print_stats(xc_interface *xch, uint32_t domid, int pages_sent, + struct time_stats *last, xc_shadow_op_stats_t *stats, int print) { - static struct time_stats last; struct time_stats now; gettimeofday(&now.wall, NULL); @@ -289,12 +289,12 @@ long long d0_cpu_delta; long long d1_cpu_delta; - wall_delta = tv_delta(&now.wall,&last.wall)/1000; + 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; DPRINTF("delta %lldms, dom0 %d%%, target %d%%, sent %dMb/s, " "dirtied %dMb/s %" PRId32 " pages\n", @@ -306,7 +306,7 @@ stats->dirty_count); } - last = now; + *last = now; return 0; } @@ -843,7 +843,8 @@ DECLARE_HYPERCALL_BUFFER(unsigned long, to_send); unsigned long *to_fix = NULL; - xc_shadow_op_stats_t stats; + struct time_stats time_stats; + xc_shadow_op_stats_t shadow_stats; unsigned long needed_to_fix = 0; unsigned long total_sent = 0; @@ -1053,7 +1054,7 @@ DPRINTF("Had %d unexplained entries in p2m table\n", err); } - print_stats(xch, dom, 0, &stats, 0); + print_stats(xch, dom, 0, &time_stats, &shadow_stats, 0); tmem_saved = xc_tmem_save(xch, dom, io_fd, live, XC_SAVE_ID_TMEM); if ( tmem_saved == -1 ) @@ -1377,7 +1378,7 @@ if ( last_iter ) { - print_stats( xch, dom, sent_this_iter, &stats, 1); + print_stats( xch, dom, sent_this_iter, &time_stats, &shadow_stats, 1); DPRINTF("Total pages sent= %ld (%.2fx)\n", total_sent, ((float)total_sent)/dinfo->p2m_size ); @@ -1439,7 +1440,7 @@ if ( xc_shadow_control(xch, dom, XEN_DOMCTL_SHADOW_OP_CLEAN, HYPERCALL_BUFFER(to_send), - dinfo->p2m_size, NULL, 0, &stats) != dinfo->p2m_size ) + dinfo->p2m_size, NULL, 0, &shadow_stats) != dinfo->p2m_size ) { PERROR("Error flushing shadow PT"); goto out; @@ -1447,7 +1448,7 @@ sent_last_iter = sent_this_iter; - print_stats(xch, dom, sent_this_iter, &stats, 1); + print_stats(xch, dom, sent_this_iter, &time_stats, &shadow_stats, 1); } } /* end of infinite for loop */ @@ -1810,7 +1811,7 @@ callbacks->checkpoint(callbacks->data) > 0) { /* reset stats timer */ - print_stats(xch, dom, 0, &stats, 0); + print_stats(xch, dom, 0, &time_stats, &shadow_stats, 0); rc = 1; /* last_iter = 1; */ @@ -1821,11 +1822,11 @@ goto out; } DPRINTF("SUSPEND shinfo %08lx\n", info.shared_info_frame); - print_stats(xch, dom, 0, &stats, 1); + print_stats(xch, dom, 0, &time_stats, &shadow_stats, 1); if ( xc_shadow_control(xch, dom, XEN_DOMCTL_SHADOW_OP_CLEAN, HYPERCALL_BUFFER(to_send), - dinfo->p2m_size, NULL, 0, &stats) != dinfo->p2m_size ) + dinfo->p2m_size, NULL, 0, &shadow_stats) != dinfo->p2m_size ) { PERROR("Error flushing shadow PT"); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |