Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jan 2008 21:42:34 +0100
From:      Pieter de Goeje <pieter@degoeje.nl>
To:        cvs-src@freebsd.org
Cc:        src-committers@freebsd.org, cvs-all@freebsd.org, Peter Wemm <peter@freebsd.org>
Subject:   Re: cvs commit: src/usr.bin/vmstat Makefile vmstat.8 vmstat.c
Message-ID:  <200801182142.35019.pieter@degoeje.nl>
In-Reply-To: <200712130236.lBD2aCWP029948@repoman.freebsd.org>
References:  <200712130236.lBD2aCWP029948@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_68QkHGLFIWDClGk
Content-Type: text/plain;
  charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--Boundary-00=_68QkHGLFIWDClGk
Content-Type: text/x-diff;
  charset="iso-8859-15";
  name="vmstat.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="vmstat.patch"

--- /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)

--Boundary-00=_68QkHGLFIWDClGk--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801182142.35019.pieter>