On Thursday 13 December 2007, Peter Wemm wrote: > peter 2007-12-13 02:36:11 UTC > > FreeBSD src repository > > Modified files: > usr.bin/vmstat Makefile vmstat.8 vmstat.c > Log: > Add the -H, -h and -P flags to vmstat. -P causes per-cpu output of > user/system/idle stats. -h feeds the memory column through > humanize_number() to reduce the amount of column overflowing. -H turns > this off. -h is turned on by default if stdout is a tty. > > Revision Changes Path > 1.13 +2 -2 src/usr.bin/vmstat/Makefile > 1.37 +9 -1 src/usr.bin/vmstat/vmstat.8 > 1.99 +196 -17 src/usr.bin/vmstat/vmstat.c
I noticed vmstat dumps stats from all kern.smp.maxcpus CPUs on screen when using -P. Attached patch fixes the problem. Cheers, Pieter de Goeje
--- /usr/src/usr.bin/vmstat/vmstat.c 2007-12-14 02:38:20.000000000 +0100 +++ vmstat.c 2008-01-18 21:34:03.000000000 +0100 @@ -739,7 +739,7 @@ (void)printf(" faults "); if (Pflag) { for (i = 0; i < ncpus; i++) { - if (cpumask && (1ul << i)) + if (cpumask & (1ul << i)) printf("cpu%-2d ", i); } printf("\n"); @@ -976,7 +976,7 @@ /* devstats does this for cp_time */ for (i = 0; i <= maxid; i++) { - if (cpumask && (1ul << i) == 0) + if ((cpumask & (1ul << i)) == 0) continue; for (state = 0; state < CPUSTATES; ++state) { tmp = cur_cp_times[i * CPUSTATES + state]; @@ -987,7 +987,7 @@ over = 0; for (i = 0; i <= maxid; i++) { - if (cpumask && (1ul << i) == 0) + if ((cpumask & (1ul << i)) == 0) continue; total = 0; for (state = 0; state < CPUSTATES; ++state)
_______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"