summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2005-07-25 09:52:59 +0000
committerRobert Watson <rwatson@FreeBSD.org>2005-07-25 09:52:59 +0000
commit7f6e27372b56bc6f3f742dbbcba8a535aa08547c (patch)
tree1b03d4fcca176d2414a0cf8d9d493d4da9715b0f
parentfc2d060bf7ff145de388fb481edcfbf0e8149c2b (diff)
Notes
-rw-r--r--lib/libmemstat/memstat_uma.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libmemstat/memstat_uma.c b/lib/libmemstat/memstat_uma.c
index b35c4d90cf8e..6d5407c72d0b 100644
--- a/lib/libmemstat/memstat_uma.c
+++ b/lib/libmemstat/memstat_uma.c
@@ -211,7 +211,16 @@ retry:
mtp->mt_count = mtp->mt_numallocs - mtp->mt_numfrees;
mtp->mt_zonefree = uthp->uth_zone_free;
- mtp->mt_kegfree = uthp->uth_keg_free;
+
+ /*
+ * UMA secondary zones share a keg with the primary zone. To
+ * avoid double-reporting of free items, report keg free
+ * items only in the primary zone.
+ */
+ if (!(uthp->uth_zone_flags & UTH_ZONE_SECONDARY)) {
+ mtp->mt_free += mtp->mt_kegfree;
+ mtp->mt_kegfree = uthp->uth_keg_free;
+ }
mtp->mt_free += mtp->mt_zonefree;
}