summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_meter.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-10-31 17:21:31 +0000
committerpeter <peter@FreeBSD.org>1998-10-31 17:21:31 +0000
commite5c6a4fa5eb79d781946aee7e3ffa81cc5e38b78 (patch)
treee042f91af8681263397cb37cbe372ea389671cd8 /sys/vm/vm_meter.c
parent29a470890d941fb3684c87bc547351fad2ba4d44 (diff)
downloadFreeBSD-src-e5c6a4fa5eb79d781946aee7e3ffa81cc5e38b78.zip
FreeBSD-src-e5c6a4fa5eb79d781946aee7e3ffa81cc5e38b78.tar.gz
Add John Dyson's SYSCTL descriptions, and an export of more stats to
a sysctl hierarchy (vm.stats.*). SYSCTL descriptions are only present in source, they do not get compiled into the binaries taking up memory.
Diffstat (limited to 'sys/vm/vm_meter.c')
-rw-r--r--sys/vm/vm_meter.c104
1 files changed, 103 insertions, 1 deletions
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c
index 4879535..5bc74bd 100644
--- a/sys/vm/vm_meter.c
+++ b/sys/vm/vm_meter.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)vm_meter.c 8.4 (Berkeley) 1/4/94
- * $Id: vm_meter.c,v 1.25 1998/03/30 09:56:49 phk Exp $
+ * $Id: vm_meter.c,v 1.26 1998/08/24 08:39:37 dfr Exp $
*/
#include <sys/param.h>
@@ -42,6 +42,8 @@
#include <sys/vmmeter.h>
#include <vm/vm.h>
+#include <vm/vm_prot.h>
+#include <vm/vm_page.h>
#include <vm/vm_extern.h>
#include <vm/vm_param.h>
#include <sys/lock.h>
@@ -215,3 +217,103 @@ vmtotal SYSCTL_HANDLER_ARGS
SYSCTL_PROC(_vm, VM_METER, vmmeter, CTLTYPE_OPAQUE|CTLFLAG_RD,
0, sizeof(struct vmtotal), vmtotal, "S,vmtotal", "");
+SYSCTL_NODE(_vm, OID_AUTO, stats, CTLFLAG_RW, 0, "VM meter stats");
+SYSCTL_NODE(_vm_stats, OID_AUTO, sys, CTLFLAG_RW, 0, "VM meter sys stats");
+SYSCTL_NODE(_vm_stats, OID_AUTO, vm, CTLFLAG_RW, 0, "VM meter vm stats");
+SYSCTL_NODE(_vm_stats, OID_AUTO, misc, CTLFLAG_RW, 0, "VM meter misc stats");
+SYSCTL_INT(_vm_stats_sys, OID_AUTO,
+ v_swtch, CTLFLAG_RD, &cnt.v_swtch, 0, "Context switches");
+SYSCTL_INT(_vm_stats_sys, OID_AUTO,
+ v_trap, CTLFLAG_RD, &cnt.v_trap, 0, "Traps");
+SYSCTL_INT(_vm_stats_sys, OID_AUTO,
+ v_syscall, CTLFLAG_RD, &cnt.v_syscall, 0, "Syscalls");
+SYSCTL_INT(_vm_stats_sys, OID_AUTO,
+ v_intr, CTLFLAG_RD, &cnt.v_intr, 0, "HW intr");
+SYSCTL_INT(_vm_stats_sys, OID_AUTO,
+ v_soft, CTLFLAG_RD, &cnt.v_soft, 0, "SW intr");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_vm_faults, CTLFLAG_RD, &cnt.v_vm_faults, 0, "VM faults");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_cow_faults, CTLFLAG_RD, &cnt.v_cow_faults, 0, "COW faults");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_cow_optim, CTLFLAG_RD, &cnt.v_cow_optim, 0, "Optimized COW faults");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_zfod, CTLFLAG_RD, &cnt.v_zfod, 0, "Zero fill");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_ozfod, CTLFLAG_RD, &cnt.v_ozfod, 0, "Optimized zero fill");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_swapin, CTLFLAG_RD, &cnt.v_swapin, 0, "Swapin operations");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_swapout, CTLFLAG_RD, &cnt.v_swapout, 0, "Swapout operations");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_swappgsin, CTLFLAG_RD, &cnt.v_swappgsin, 0, "Swapin pages");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_swappgsout, CTLFLAG_RD, &cnt.v_swappgsout, 0, "Swapout pages");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_vnodein, CTLFLAG_RD, &cnt.v_vnodein, 0, "Vnodein operations");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_vnodeout, CTLFLAG_RD, &cnt.v_vnodeout, 0, "Vnodeout operations");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_vnodepgsin, CTLFLAG_RD, &cnt.v_vnodepgsin, 0, "Vnodein pages");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_vnodepgsout, CTLFLAG_RD, &cnt.v_vnodepgsout, 0, "Vnodeout pages");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_intrans, CTLFLAG_RD, &cnt.v_intrans, 0, "In transit page blocking");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_reactivated, CTLFLAG_RD, &cnt.v_reactivated, 0, "Reactivated pages");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_pdwakeups, CTLFLAG_RD, &cnt.v_pdwakeups, 0, "Pagedaemon wakeups");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_pdpages, CTLFLAG_RD, &cnt.v_pdpages, 0, "Pagedaemon page scans");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_dfree, CTLFLAG_RD, &cnt.v_dfree, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_pfree, CTLFLAG_RD, &cnt.v_pfree, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_tfree, CTLFLAG_RD, &cnt.v_tfree, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_page_size, CTLFLAG_RD, &cnt.v_page_size, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_page_count, CTLFLAG_RD, &cnt.v_page_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_free_reserved, CTLFLAG_RD, &cnt.v_free_reserved, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_free_target, CTLFLAG_RD, &cnt.v_free_target, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_free_min, CTLFLAG_RD, &cnt.v_free_min, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_free_count, CTLFLAG_RD, &cnt.v_free_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_wire_count, CTLFLAG_RD, &cnt.v_wire_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_active_count, CTLFLAG_RD, &cnt.v_active_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_inactive_target, CTLFLAG_RD, &cnt.v_inactive_target, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_inactive_count, CTLFLAG_RD, &cnt.v_inactive_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_cache_count, CTLFLAG_RD, &cnt.v_cache_count, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_cache_min, CTLFLAG_RD, &cnt.v_cache_min, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_cache_max, CTLFLAG_RD, &cnt.v_cache_max, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_pageout_free_min, CTLFLAG_RD, &cnt.v_pageout_free_min, 0, "");
+SYSCTL_INT(_vm_stats_vm, OID_AUTO,
+ v_interrupt_free_min, CTLFLAG_RD, &cnt.v_interrupt_free_min, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ zero_page_count, CTLFLAG_RD, &vm_page_zero_count, 0, "");
+#if 0
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ page_mask, CTLFLAG_RD, &page_mask, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ page_shift, CTLFLAG_RD, &page_shift, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ first_page, CTLFLAG_RD, &first_page, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ last_page, CTLFLAG_RD, &last_page, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ vm_page_bucket_count, CTLFLAG_RD, &vm_page_bucket_count, 0, "");
+SYSCTL_INT(_vm_stats_misc, OID_AUTO,
+ vm_page_hash_mask, CTLFLAG_RD, &vm_page_hash_mask, 0, "");
+#endif
OpenPOWER on IntegriCloud