aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_meter.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2006-11-20 00:16:00 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2006-11-20 00:16:00 +0000
commit276096bb3e7a62042fd7b9b44aff4023580f663c (patch)
tree007b9a1af94d658f717af5d5d40d3165d3a7d115 /sys/vm/vm_meter.c
parentd4593bb04fd388586fde13888f650fd849ac7d7b (diff)
downloadsrc-276096bb3e7a62042fd7b9b44aff4023580f663c.tar.gz
src-276096bb3e7a62042fd7b9b44aff4023580f663c.zip
When counting vm totals, skip unreferenced objects, including
vnodes representing mounted file systems. Reviewed by: alc MFC after: 3 days
Notes
Notes: svn path=/head/; revision=164429
Diffstat (limited to 'sys/vm/vm_meter.c')
-rw-r--r--sys/vm/vm_meter.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c
index 709f9b57be84..7d9dd9630324 100644
--- a/sys/vm/vm_meter.c
+++ b/sys/vm/vm_meter.c
@@ -212,6 +212,13 @@ vmtotal(SYSCTL_HANDLER_ARGS)
*/
continue;
}
+ if (object->ref_count == 0) {
+ /*
+ * Also skip unreferenced objects, including
+ * vnodes representing mounted file systems.
+ */
+ continue;
+ }
totalp->t_vm += object->size;
totalp->t_rm += object->resident_page_count;
if (object->flags & OBJ_ACTIVE) {