vm_meter.c (069e9bc1b4e6189140c16ee2d7277dc0301b3f71) vm_meter.c (b0359e2c119950f23c14a526c24bab65994bde94)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94
34 * $Id: vm_meter.c,v 1.25 1998/03/30 09:56:49 phk Exp $
34 * $Id: vm_meter.c,v 1.26 1998/08/24 08:39:37 dfr Exp $
35 */
36
37#include <sys/param.h>
38#include <sys/proc.h>
39#include <sys/systm.h>
40#include <sys/kernel.h>
41#include <sys/resource.h>
42#include <sys/vmmeter.h>
43
44#include <vm/vm.h>
35 */
36
37#include <sys/param.h>
38#include <sys/proc.h>
39#include <sys/systm.h>
40#include <sys/kernel.h>
41#include <sys/resource.h>
42#include <sys/vmmeter.h>
43
44#include <vm/vm.h>
45#include <vm/vm_prot.h>
46#include <vm/vm_page.h>
45#include <vm/vm_extern.h>
46#include <vm/vm_param.h>
47#include <sys/lock.h>
48#include <vm/pmap.h>
49#include <vm/vm_map.h>
50#include <vm/vm_object.h>
51#include <sys/sysctl.h>
52

--- 157 unchanged lines hidden (view full) ---

210 }
211 }
212 totalp->t_free = cnt.v_free_count + cnt.v_cache_count;
213 return (sysctl_handle_opaque(oidp, totalp, sizeof total, req));
214}
215
216SYSCTL_PROC(_vm, VM_METER, vmmeter, CTLTYPE_OPAQUE|CTLFLAG_RD,
217 0, sizeof(struct vmtotal), vmtotal, "S,vmtotal", "");
47#include <vm/vm_extern.h>
48#include <vm/vm_param.h>
49#include <sys/lock.h>
50#include <vm/pmap.h>
51#include <vm/vm_map.h>
52#include <vm/vm_object.h>
53#include <sys/sysctl.h>
54

--- 157 unchanged lines hidden (view full) ---

212 }
213 }
214 totalp->t_free = cnt.v_free_count + cnt.v_cache_count;
215 return (sysctl_handle_opaque(oidp, totalp, sizeof total, req));
216}
217
218SYSCTL_PROC(_vm, VM_METER, vmmeter, CTLTYPE_OPAQUE|CTLFLAG_RD,
219 0, sizeof(struct vmtotal), vmtotal, "S,vmtotal", "");
220SYSCTL_NODE(_vm, OID_AUTO, stats, CTLFLAG_RW, 0, "VM meter stats");
221SYSCTL_NODE(_vm_stats, OID_AUTO, sys, CTLFLAG_RW, 0, "VM meter sys stats");
222SYSCTL_NODE(_vm_stats, OID_AUTO, vm, CTLFLAG_RW, 0, "VM meter vm stats");
223SYSCTL_NODE(_vm_stats, OID_AUTO, misc, CTLFLAG_RW, 0, "VM meter misc stats");
224SYSCTL_INT(_vm_stats_sys, OID_AUTO,
225 v_swtch, CTLFLAG_RD, &cnt.v_swtch, 0, "Context switches");
226SYSCTL_INT(_vm_stats_sys, OID_AUTO,
227 v_trap, CTLFLAG_RD, &cnt.v_trap, 0, "Traps");
228SYSCTL_INT(_vm_stats_sys, OID_AUTO,
229 v_syscall, CTLFLAG_RD, &cnt.v_syscall, 0, "Syscalls");
230SYSCTL_INT(_vm_stats_sys, OID_AUTO,
231 v_intr, CTLFLAG_RD, &cnt.v_intr, 0, "HW intr");
232SYSCTL_INT(_vm_stats_sys, OID_AUTO,
233 v_soft, CTLFLAG_RD, &cnt.v_soft, 0, "SW intr");
234SYSCTL_INT(_vm_stats_vm, OID_AUTO,
235 v_vm_faults, CTLFLAG_RD, &cnt.v_vm_faults, 0, "VM faults");
236SYSCTL_INT(_vm_stats_vm, OID_AUTO,
237 v_cow_faults, CTLFLAG_RD, &cnt.v_cow_faults, 0, "COW faults");
238SYSCTL_INT(_vm_stats_vm, OID_AUTO,
239 v_cow_optim, CTLFLAG_RD, &cnt.v_cow_optim, 0, "Optimized COW faults");
240SYSCTL_INT(_vm_stats_vm, OID_AUTO,
241 v_zfod, CTLFLAG_RD, &cnt.v_zfod, 0, "Zero fill");
242SYSCTL_INT(_vm_stats_vm, OID_AUTO,
243 v_ozfod, CTLFLAG_RD, &cnt.v_ozfod, 0, "Optimized zero fill");
244SYSCTL_INT(_vm_stats_vm, OID_AUTO,
245 v_swapin, CTLFLAG_RD, &cnt.v_swapin, 0, "Swapin operations");
246SYSCTL_INT(_vm_stats_vm, OID_AUTO,
247 v_swapout, CTLFLAG_RD, &cnt.v_swapout, 0, "Swapout operations");
248SYSCTL_INT(_vm_stats_vm, OID_AUTO,
249 v_swappgsin, CTLFLAG_RD, &cnt.v_swappgsin, 0, "Swapin pages");
250SYSCTL_INT(_vm_stats_vm, OID_AUTO,
251 v_swappgsout, CTLFLAG_RD, &cnt.v_swappgsout, 0, "Swapout pages");
252SYSCTL_INT(_vm_stats_vm, OID_AUTO,
253 v_vnodein, CTLFLAG_RD, &cnt.v_vnodein, 0, "Vnodein operations");
254SYSCTL_INT(_vm_stats_vm, OID_AUTO,
255 v_vnodeout, CTLFLAG_RD, &cnt.v_vnodeout, 0, "Vnodeout operations");
256SYSCTL_INT(_vm_stats_vm, OID_AUTO,
257 v_vnodepgsin, CTLFLAG_RD, &cnt.v_vnodepgsin, 0, "Vnodein pages");
258SYSCTL_INT(_vm_stats_vm, OID_AUTO,
259 v_vnodepgsout, CTLFLAG_RD, &cnt.v_vnodepgsout, 0, "Vnodeout pages");
260SYSCTL_INT(_vm_stats_vm, OID_AUTO,
261 v_intrans, CTLFLAG_RD, &cnt.v_intrans, 0, "In transit page blocking");
262SYSCTL_INT(_vm_stats_vm, OID_AUTO,
263 v_reactivated, CTLFLAG_RD, &cnt.v_reactivated, 0, "Reactivated pages");
264SYSCTL_INT(_vm_stats_vm, OID_AUTO,
265 v_pdwakeups, CTLFLAG_RD, &cnt.v_pdwakeups, 0, "Pagedaemon wakeups");
266SYSCTL_INT(_vm_stats_vm, OID_AUTO,
267 v_pdpages, CTLFLAG_RD, &cnt.v_pdpages, 0, "Pagedaemon page scans");
268SYSCTL_INT(_vm_stats_vm, OID_AUTO,
269 v_dfree, CTLFLAG_RD, &cnt.v_dfree, 0, "");
270SYSCTL_INT(_vm_stats_vm, OID_AUTO,
271 v_pfree, CTLFLAG_RD, &cnt.v_pfree, 0, "");
272SYSCTL_INT(_vm_stats_vm, OID_AUTO,
273 v_tfree, CTLFLAG_RD, &cnt.v_tfree, 0, "");
274SYSCTL_INT(_vm_stats_vm, OID_AUTO,
275 v_page_size, CTLFLAG_RD, &cnt.v_page_size, 0, "");
276SYSCTL_INT(_vm_stats_vm, OID_AUTO,
277 v_page_count, CTLFLAG_RD, &cnt.v_page_count, 0, "");
278SYSCTL_INT(_vm_stats_vm, OID_AUTO,
279 v_free_reserved, CTLFLAG_RD, &cnt.v_free_reserved, 0, "");
280SYSCTL_INT(_vm_stats_vm, OID_AUTO,
281 v_free_target, CTLFLAG_RD, &cnt.v_free_target, 0, "");
282SYSCTL_INT(_vm_stats_vm, OID_AUTO,
283 v_free_min, CTLFLAG_RD, &cnt.v_free_min, 0, "");
284SYSCTL_INT(_vm_stats_vm, OID_AUTO,
285 v_free_count, CTLFLAG_RD, &cnt.v_free_count, 0, "");
286SYSCTL_INT(_vm_stats_vm, OID_AUTO,
287 v_wire_count, CTLFLAG_RD, &cnt.v_wire_count, 0, "");
288SYSCTL_INT(_vm_stats_vm, OID_AUTO,
289 v_active_count, CTLFLAG_RD, &cnt.v_active_count, 0, "");
290SYSCTL_INT(_vm_stats_vm, OID_AUTO,
291 v_inactive_target, CTLFLAG_RD, &cnt.v_inactive_target, 0, "");
292SYSCTL_INT(_vm_stats_vm, OID_AUTO,
293 v_inactive_count, CTLFLAG_RD, &cnt.v_inactive_count, 0, "");
294SYSCTL_INT(_vm_stats_vm, OID_AUTO,
295 v_cache_count, CTLFLAG_RD, &cnt.v_cache_count, 0, "");
296SYSCTL_INT(_vm_stats_vm, OID_AUTO,
297 v_cache_min, CTLFLAG_RD, &cnt.v_cache_min, 0, "");
298SYSCTL_INT(_vm_stats_vm, OID_AUTO,
299 v_cache_max, CTLFLAG_RD, &cnt.v_cache_max, 0, "");
300SYSCTL_INT(_vm_stats_vm, OID_AUTO,
301 v_pageout_free_min, CTLFLAG_RD, &cnt.v_pageout_free_min, 0, "");
302SYSCTL_INT(_vm_stats_vm, OID_AUTO,
303 v_interrupt_free_min, CTLFLAG_RD, &cnt.v_interrupt_free_min, 0, "");
304SYSCTL_INT(_vm_stats_misc, OID_AUTO,
305 zero_page_count, CTLFLAG_RD, &vm_page_zero_count, 0, "");
306#if 0
307SYSCTL_INT(_vm_stats_misc, OID_AUTO,
308 page_mask, CTLFLAG_RD, &page_mask, 0, "");
309SYSCTL_INT(_vm_stats_misc, OID_AUTO,
310 page_shift, CTLFLAG_RD, &page_shift, 0, "");
311SYSCTL_INT(_vm_stats_misc, OID_AUTO,
312 first_page, CTLFLAG_RD, &first_page, 0, "");
313SYSCTL_INT(_vm_stats_misc, OID_AUTO,
314 last_page, CTLFLAG_RD, &last_page, 0, "");
315SYSCTL_INT(_vm_stats_misc, OID_AUTO,
316 vm_page_bucket_count, CTLFLAG_RD, &vm_page_bucket_count, 0, "");
317SYSCTL_INT(_vm_stats_misc, OID_AUTO,
318 vm_page_hash_mask, CTLFLAG_RD, &vm_page_hash_mask, 0, "");
319#endif