xenperf: omit meaningless trailing zeroes from output

There's no point producing a long chain of zeroes when the previously
calculated total value was zero. To guard against mistakenly skipping
non-zero individual fields, widen "sum" to "unsigned long long".

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
Jan Beulich committed 2022-01-04 10:21:12 +01:00
1 parent 78688ffa7e
commit af0c5430a8
1 file changed
+5 -4
+5 -4
View File
@@ -86,7 +86,7 @@ int main(int argc, char *argv[])
DECLARE_HYPERCALL_BUFFER(xc_perfc_val_t, pcv); DECLARE_HYPERCALL_BUFFER(xc_perfc_val_t, pcv);
xc_perfc_val_t *val; xc_perfc_val_t *val;
int num_desc, num_val; int num_desc, num_val;
unsigned int sum, reset = 0, full = 0, pretty = 0; unsigned int reset = 0, full = 0, pretty = 0;
char hypercall_name[36]; char hypercall_name[36];
if ( argc > 1 ) if ( argc > 1 )
@@ -168,14 +168,15 @@ int main(int argc, char *argv[])
val = pcv; val = pcv;
for ( i = 0; i < num_desc; i++ ) for ( i = 0; i < num_desc; i++ )
{ {
unsigned long long sum = 0;
printf ("%-35s ", pcd[i].name); printf ("%-35s ", pcd[i].name);
sum = 0;
for ( j = 0; j < pcd[i].nr_vals; j++ ) for ( j = 0; j < pcd[i].nr_vals; j++ )
sum += val[j]; sum += val[j];
printf ("T=%10u ", (unsigned int)sum); printf("T=%10llu ", sum);
if ( full || (pcd[i].nr_vals <= 4) ) if ( sum && (full || (pcd[i].nr_vals <= 4)) )
{ {
if ( pretty && (strcmp(pcd[i].name, "hypercalls") == 0) ) if ( pretty && (strcmp(pcd[i].name, "hypercalls") == 0) )
{ {
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.