[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/3] xenpm: use new Cx statistics interface
>>> On 05.03.14 at 16:47, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote: > On 03/05/2014 05:37 AM, Jan Beulich wrote: >> @@ -331,7 +346,7 @@ void pxstat_func(int argc, char *argv[]) >> } >> >> static uint64_t usec_start, usec_end; >> -static struct xc_cx_stat *cxstat, *cxstat_start, *cxstat_end; >> +static struct xc_cx_stat_v2 *cxstat, *cxstat_start, *cxstat_end; >> static struct xc_px_stat *pxstat, *pxstat_start, *pxstat_end; >> static int *avgfreq; >> static uint64_t *sum, *sum_cx, *sum_px; >> @@ -482,25 +497,26 @@ static void signal_int_handler(int signo >> /* print out CC? and PC? */ >> for ( i = 0; i < socket_nr; i++ ) >> { >> + unsigned int n; >> uint64_t res; >> + >> for ( j = 0; j <= info.max_cpu_index; j++ ) >> { >> if ( cpu_to_socket[j] == socket_ids[i] ) >> break; >> } >> printf("\nSocket %d\n", socket_ids[i]); >> - res = cxstat_end[j].pc2 - cxstat_start[j].pc2; >> - printf("\tPC2\t%"PRIu64" ms\t%.2f%%\n", res / 1000000UL, >> - 100UL * res / (double)sum_cx[j]); >> - res = cxstat_end[j].pc3 - cxstat_start[j].pc3; >> - printf("\tPC3\t%"PRIu64" ms\t%.2f%%\n", res / 1000000UL, >> - 100UL * res / (double)sum_cx[j]); >> - res = cxstat_end[j].pc6 - cxstat_start[j].pc6; >> - printf("\tPC6\t%"PRIu64" ms\t%.2f%%\n", res / 1000000UL, >> - 100UL * res / (double)sum_cx[j]); >> - res = cxstat_end[j].pc7 - cxstat_start[j].pc7; >> - printf("\tPC7\t%"PRIu64" ms\t%.2f%%\n", res / 1000000UL, >> - 100UL * res / (double)sum_cx[j]); >> + for ( n = 0; n < MAX_PKG_RESIDENCIES; ++n ) >> + { >> + if ( n >= cxstat_end[j].nr_pc ) >> + continue; >> + res = cxstat_end[j].pc[n]; >> + if ( n < cxstat_start[j].nr_pc ) >> + res -= cxstat_start[j].pc[n]; > > Is it possible to have cxstat_end[j].nr_pc != cxstat_start[j].nr_pc ? Yes - see the previous patch: It bumps the count only if the respective hw_res field was non-zero. But even if the current implementation didn't allow for this, I'd still consider it good practice to cope with the possibility. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |