page loaning related statistics yamt-pagecache
authoryamt <yamt@NetBSD.org>
Wed, 28 Dec 2011 13:28:03 +0000
branchyamt-pagecache
changeset 280338 a7f0822afb90
parent 280337 75c2af30ea41
child 280339 4f095492bddf
page loaning related statistics 6 O->K loan 433958 O->K unloan 0 O->K loan resolved on write to O 0 O->K loan resolved on free of O 1562110 A->K loan 1450785 A->K unloan 108147 A->K loan resolved on write to A 3178 A->K loan resolved on free of A 506926 O->A->K loan 72974 O->A->K unloan 0 O->K loan (zero) 0 O->K unloan (zero) 0 O->A->K loan turned into A->K loan due to write to O 0 O->A->K loan turned into A->K loan due to free of O 50 O->A->K loan turned into O->K loan due to write to A 435568 O->A->K loan turned into O->K loan due to free of A 22761 O->A loan resolved on write to O 602 O->A loan resolved on free of O 1015322 O->A loan resolved on write to A 11431602 O->A loan resolved on free of A 23363 O->A loaned page taken over by anon 12470316 O->A loan for read(2)
usr.bin/vmstat/vmstat.c
--- a/usr.bin/vmstat/vmstat.c	Wed Dec 28 13:24:19 2011 +0000
+++ b/usr.bin/vmstat/vmstat.c	Wed Dec 28 13:28:03 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: vmstat.c,v 1.186.2.2 2011/11/14 14:27:53 yamt Exp $ */
+/* $NetBSD: vmstat.c,v 1.186.2.3 2011/12/28 13:28:03 yamt Exp $ */
 
 /*-
  * Copyright (c) 1998, 2000, 2001, 2007 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
 #if 0
 static char sccsid[] = "@(#)vmstat.c	8.2 (Berkeley) 3/1/95";
 #else
-__RCSID("$NetBSD: vmstat.c,v 1.186.2.2 2011/11/14 14:27:53 yamt Exp $");
+__RCSID("$NetBSD: vmstat.c,v 1.186.2.3 2011/12/28 13:28:03 yamt Exp $");
 #endif
 #endif /* not lint */
 
@@ -892,6 +892,7 @@
 	if (active_kernel) {
 		(void)printf("%9" PRIu64 " pages active\n", uvmexp2.active);
 		(void)printf("%9" PRIu64 " pages inactive\n", uvmexp2.inactive);
+
 		(void)printf("%9" PRIu64 " file pages known clean\n",
 		    uvmexp2.cleanpages);
 		(void)printf("%9" PRIu64 " file pages possibly dirty\n",
@@ -904,6 +905,56 @@
 		    uvmexp2.possiblydirtyanonpages);
 		(void)printf("%9" PRIu64 " anonymous pages known dirty\n",
 		    uvmexp2.dirtyanonpages);
+
+		(void)printf("%9" PRIu64 " O->K loan\n",
+		    uvmexp2.loan_obj);
+		(void)printf("%9" PRIu64 " O->K unloan\n",
+		    uvmexp2.unloan_obj);
+		(void)printf("%9" PRIu64 " O->K loan resolved on write to O\n",
+		    uvmexp2.loanbreak_obj);
+		(void)printf("%9" PRIu64 " O->K loan resolved on free of O\n",
+		    uvmexp2.loanfree_obj);
+
+		(void)printf("%9" PRIu64 " A->K loan\n",
+		    uvmexp2.loan_anon);
+		(void)printf("%9" PRIu64 " A->K unloan\n",
+		    uvmexp2.unloan_anon);
+		(void)printf("%9" PRIu64 " A->K loan resolved on write to A\n",
+		    uvmexp2.loanbreak_anon);
+		(void)printf("%9" PRIu64 " A->K loan resolved on free of A\n",
+		    uvmexp2.loanfree_anon);
+
+		(void)printf("%9" PRIu64 " O->A->K loan\n",
+		    uvmexp2.loan_oa);
+		(void)printf("%9" PRIu64 " O->A->K unloan\n",
+		    uvmexp2.unloan_oa);
+
+		(void)printf("%9" PRIu64 " O->K loan (zero)\n",
+		    uvmexp2.loan_zero);
+		(void)printf("%9" PRIu64 " O->K unloan (zero)\n",
+		    uvmexp2.unloan_zero);
+
+		(void)printf("%9" PRIu64 " O->A->K loan turned into A->K loan due to write to O\n",
+		    uvmexp2.loanbreak_orphaned);
+		(void)printf("%9" PRIu64 " O->A->K loan turned into A->K loan due to free of O\n",
+		    uvmexp2.loanfree_orphaned);
+		(void)printf("%9" PRIu64 " O->A->K loan turned into O->K loan due to write to A\n",
+		    uvmexp2.loanbreak_orphaned_anon);
+		(void)printf("%9" PRIu64 " O->A->K loan turned into O->K loan due to free of A\n",
+		    uvmexp2.loanfree_orphaned_anon);
+
+		(void)printf("%9" PRIu64 " O->A loan resolved on write to O\n",
+		    uvmexp2.loanbreak_oa_obj);
+		(void)printf("%9" PRIu64 " O->A loan resolved on free of O\n",
+		    uvmexp2.loanfree_oa_obj);
+		(void)printf("%9" PRIu64 " O->A loan resolved on write to A\n",
+		    uvmexp2.loanbreak_oa_anon);
+		(void)printf("%9" PRIu64 " O->A loan resolved on free of A\n",
+		    uvmexp2.loanfree_oa_anon);
+		(void)printf("%9" PRIu64 " O->A loaned page taken over by anon\n",
+		    uvmexp2.loan_resolve_orphan);
+		(void)printf("%9" PRIu64 " O->A loan for read(2)\n",
+		    uvmexp2.loan_obj_read);
 	}
 	(void)printf("%9u pages paging\n", uvmexp.paging);
 	(void)printf("%9u pages wired\n", uvmexp.wired);