summaryrefslogtreecommitdiff
path: root/usr.bin/systat/vmstat.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2004-06-11 06:31:33 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2004-06-11 06:31:33 +0000
commit47f0f1b4bdd92d63290426cf9842c380309367d2 (patch)
tree2bedb431415cdb327c2dddbbd93a85355fdfd3e8 /usr.bin/systat/vmstat.c
parent990975725c496bd77f7abb8a7dc95047edda5c16 (diff)
divide etime by ncpu
Diffstat (limited to 'usr.bin/systat/vmstat.c')
-rw-r--r--usr.bin/systat/vmstat.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/usr.bin/systat/vmstat.c b/usr.bin/systat/vmstat.c
index 2873370863d..b61ac4ddf3f 100644
--- a/usr.bin/systat/vmstat.c
+++ b/usr.bin/systat/vmstat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmstat.c,v 1.49 2004/06/11 06:30:31 deraadt Exp $ */
+/* $OpenBSD: vmstat.c,v 1.50 2004/06/11 06:31:32 deraadt Exp $ */
/* $NetBSD: vmstat.c,v 1.5 1996/05/10 23:16:40 thorpej Exp $ */
/*-
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)vmstat.c 8.2 (Berkeley) 1/12/94";
#endif
-static char rcsid[] = "$OpenBSD: vmstat.c,v 1.49 2004/06/11 06:30:31 deraadt Exp $";
+static char rcsid[] = "$OpenBSD: vmstat.c,v 1.50 2004/06/11 06:31:32 deraadt Exp $";
#endif /* not lint */
/*
@@ -179,11 +179,14 @@ static struct nlist namelist[] = {
#define DRIVESPACE 45 /* max space for drives */
+int ncpu = 1;
+
int
initkre(void)
{
char *intrnamebuf, *cp;
- int i, ret;
+ size_t size = sizeof(ncpu);
+ int mib[2], i, ret;
if (namelist[0].n_type == 0) {
if ((ret = kvm_nlist(kd, namelist)) == -1)
@@ -199,6 +202,12 @@ initkre(void)
return(0);
}
}
+
+ mib[0] = CTL_HW;
+ mib[1] = HW_NCPU;
+ if (sysctl(mib, 2, &ncpu, &size, NULL, 0) == -1)
+ return (-1);
+
hertz = stathz ? stathz : hz;
if (!dkinit(1))
return(0);
@@ -426,6 +435,7 @@ showkre(void)
}
failcnt = 0;
etime /= hertz;
+ etime /= ncpu;
inttotal = 0;
for (i = 0; i < nintr; i++) {
if (s.intrcnt[i] == 0)