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);
xc_perfc_val_t *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];
if ( argc > 1 )
@@ -168,14 +168,15 @@ int main(int argc, char *argv[])
val = pcv;
for ( i = 0; i < num_desc; i++ )
{
unsigned long long sum = 0;
printf ("%-35s ", pcd[i].name);
sum = 0;
for ( j = 0; j < pcd[i].nr_vals; 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) )
{
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.