summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1994-10-18 14:59:20 +0000
committerdg <dg@FreeBSD.org>1994-10-18 14:59:20 +0000
commit2d52a86c44bc18e64b58029f29efce43b416f504 (patch)
treea17148e7feb973d0f4d32bea7fb2e8e0fa28757a /sys
parent5ea26df221e830e7cdcc3687bd4c6616975df1ff (diff)
downloadFreeBSD-src-2d52a86c44bc18e64b58029f29efce43b416f504.zip
FreeBSD-src-2d52a86c44bc18e64b58029f29efce43b416f504.tar.gz
Fix the remaining vmmeter counters. They all now work correctly.
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/vmmeter.h7
-rw-r--r--sys/vm/vm_page.c3
-rw-r--r--sys/vm/vm_pageout.c7
3 files changed, 11 insertions, 6 deletions
diff --git a/sys/sys/vmmeter.h b/sys/sys/vmmeter.h
index 2795097..d70c6b3 100644
--- a/sys/sys/vmmeter.h
+++ b/sys/sys/vmmeter.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)vmmeter.h 8.1 (Berkeley) 6/2/93
- * $Id: vmmeter.h,v 1.4 1994/08/21 04:42:14 paul Exp $
+ * $Id: vmmeter.h,v 1.5 1994/10/15 13:33:02 davidg Exp $
*/
#ifndef _SYS_VMMETER_H_
@@ -66,10 +66,11 @@ struct vmmeter {
unsigned v_vnodepgsout; /* vnode pager pages paged out */
unsigned v_intrans; /* intransit blocking page faults */
unsigned v_reactivated; /* number of pages reactivated from free list */
- unsigned v_rev; /* revolutions of the hand */
- unsigned v_scan; /* scans in page out daemon */
+ unsigned v_pdwakeups; /* number of times daemon has awaken from sleep */
+ unsigned v_pdpages; /* number of pages analyzed by daemon */
unsigned v_dfree; /* pages freed by daemon */
unsigned v_pfree; /* pages freed by exiting processes */
+ unsigned v_tfree; /* total pages freed */
unsigned v_zfod; /* pages zero filled on demand */
unsigned v_nzfod; /* number of zfod's created */
/*
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index b800dae..bbd6b73 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)vm_page.c 7.4 (Berkeley) 5/7/91
- * $Id: vm_page.c,v 1.9 1994/09/27 20:49:02 davidg Exp $
+ * $Id: vm_page.c,v 1.10 1994/10/09 01:52:13 phk Exp $
*/
/*
@@ -726,6 +726,7 @@ void vm_page_free(mem)
splx(s);
}
wakeup((caddr_t) mem);
+ cnt.v_tfree++;
}
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 31fba30..69dc2ec 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -65,7 +65,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_pageout.c,v 1.17 1994/10/13 21:01:39 davidg Exp $
+ * $Id: vm_pageout.c,v 1.18 1994/10/15 13:33:08 davidg Exp $
*/
/*
@@ -361,6 +361,7 @@ vm_pageout_object_deactivate_pages(map, object, count)
p = object->memq.tqh_first;
while (p && (rcount-- > 0)) {
next = p->listq.tqe_next;
+ cnt.v_pdpages++;
vm_page_lock_queues();
/*
* if a page is active, not wired and is in the processes pmap,
@@ -614,6 +615,7 @@ rescan1:
(cnt.v_free_count < desired_free) ) {
vm_page_t next;
+ cnt.v_pdpages++;
next = m->pageq.tqe_next;
if( (m->flags & PG_INACTIVE) == 0) {
@@ -727,6 +729,7 @@ rescan1:
m = vm_page_queue_active.tqh_first;
while (m && maxscan-- && (page_shortage > 0)) {
+ cnt.v_pdpages++;
next = m->pageq.tqe_next;
/*
@@ -836,6 +839,7 @@ vm_pageout()
*/
tsleep((caddr_t) &vm_pages_needed, PVM, "psleep", 0);
+ cnt.v_pdwakeups++;
vm_pager_sync();
/*
@@ -848,7 +852,6 @@ vm_pageout()
vm_pager_sync();
if( force_wakeup)
wakeup( (caddr_t) &cnt.v_free_count);
- cnt.v_scan++;
wakeup((caddr_t) kmem_map);
}
}
OpenPOWER on IntegriCloud