freebsd-skq/sys/vm
Matthew Dillon 80f5c8bf42 Embed a struct vmmeter in the per-cpu structure and add a macro,
PCPU_LAZY_INC() which increments elements in it for cases where we
can afford the occassional inaccuracy.  Use of per-cpu stats counters
avoids significant cache stalls in various critical paths that would
otherwise severely limit our cpu scaleability.

Adjust all sysctl's accessing cnt.* elements to now use a procedure
which aggregates the requested field for all cpus and for the global
vmmeter.

The global vmmeter is retained, since some stats counters, like v_free_min,
cannot be made per-cpu.  Also, this allows us to convert counters from
the global vmmeter to the per-cpu vmmeter in a piecemeal fashion, so
have at it!
2002-04-04 21:38:47 +00:00
..
default_pager.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
device_pager.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
phys_pager.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
pmap.h Remove __P. 2002-03-19 22:20:14 +00:00
swap_pager.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
swap_pager.h Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
uma_core.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
uma_int.h Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
uma.h Add uma_zone_set_max() to add enforced limits to non vm obj backed zones. 2002-03-20 05:28:34 +00:00
vm_contig.c Call vm_pageq_remove_nowakeup() rather than duplicating it. 2002-03-03 22:36:14 +00:00
vm_extern.h Remove an unused prototype. 2002-03-26 05:30:59 +00:00
vm_fault.c Remove __P. 2002-03-19 22:20:14 +00:00
vm_glue.c Remove __P. 2002-03-19 22:20:14 +00:00
vm_init.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
vm_kern.c - Remove a number of extra newlines that do not belong here according to 2002-03-10 21:52:48 +00:00
vm_kern.h
vm_map.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
vm_map.h This is the first part of the new kernel memory allocator. This replaces 2002-03-19 09:11:49 +00:00
vm_meter.c Embed a struct vmmeter in the per-cpu structure and add a macro, 2002-04-04 21:38:47 +00:00
vm_mmap.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vm_object.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_object.h Implement kern.maxvnodes. adjusting kern.maxvnodes now actually has a 2001-10-26 00:08:05 +00:00
vm_page.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_page.h - Remove a number of extra newlines that do not belong here according to 2002-03-10 21:52:48 +00:00
vm_pageout.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
vm_pageout.h Remove __P. 2002-03-19 22:20:14 +00:00
vm_pageq.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_pager.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_pager.h Remove __P. 2002-03-19 22:20:14 +00:00
vm_param.h
vm_swap.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vm_unix.c Garbage-collect options ACPI_NO_ENABLE_ON_BOOT, AML_DEBUG, BLEED, 2002-02-15 13:16:11 +00:00
vm_zeroidle.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
vm_zone.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_zone.h This is the first part of the new kernel memory allocator. This replaces 2002-03-19 09:11:49 +00:00
vm.h - Remove a number of extra newlines that do not belong here according to 2002-03-10 21:52:48 +00:00
vnode_pager.c Remove __P. 2002-03-19 22:20:14 +00:00
vnode_pager.h Remove __P. 2002-03-19 22:20:14 +00:00