opnsense-src/sys/vm
Alan Cox a08f2cf69e Although we perform path compression to reduce the height of the trie and
the number of interior nodes, we have previously created a level zero
interior node at the root of every non-empty trie, even when that node is
not strictly necessary, i.e., it has only one child.  This change is the
second (and final) step in eliminating those unnecessary level zero interior
nodes.  Specifically, it updates the deletion and insertion functions so
that they do not require a level zero interior node at the root of the trie.
For a "buildworld" workload, this change results in a 16.8% reduction in the
number of interior nodes allocated and a similar reduction in the average
execution time for lookup functions.  For example, the average execution
time for a call to vm_radix_lookup_ge() is reduced by 22.9%.

Reviewed by:	attilio, jeff (an earlier version)
Sponsored by:	EMC / Isilon Storage Division
2013-04-15 06:12:00 +00:00
..
_vm_radix.h Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
default_pager.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
device_pager.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
memguard.c Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
memguard.h Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
phys_pager.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
pmap.h Add pmap function pmap_copy_pages(), which copies the content of the 2013-03-14 20:18:12 +00:00
redzone.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
redzone.h
sg_pager.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
swap_pager.c Do not map the swap i/o pbufs if the geom provider for the swap 2013-03-19 14:39:27 +00:00
swap_pager.h Do not map the swap i/o pbufs if the geom provider for the swap 2013-03-19 14:39:27 +00:00
uma.h Convert UMA code to C99 uintXX_t types. 2013-04-09 17:43:48 +00:00
uma_core.c Convert UMA code to C99 uintXX_t types. 2013-04-09 17:43:48 +00:00
uma_dbg.c Convert UMA code to C99 uintXX_t types. 2013-04-09 17:43:48 +00:00
uma_dbg.h
uma_int.h Convert UMA code to C99 uintXX_t types. 2013-04-09 17:43:48 +00:00
vm.h Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
vm_extern.h Eliminate vm_phys_bootstrap_alloc(). It was a failed attempt at 2011-10-30 05:06:14 +00:00
vm_fault.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vm_glue.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vm_init.c Only size and create the bio_transient_map when unmapped buffers are 2013-03-21 07:28:15 +00:00
vm_kern.c Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
vm_kern.h Enable the creation of a kmem map larger than 4GB. 2008-07-05 19:34:33 +00:00
vm_map.c Fix the assertions for the state of the object under the map entry 2013-04-09 10:04:10 +00:00
vm_map.h - Get rid of unused function vmspace_wired_count(). 2013-01-14 12:12:56 +00:00
vm_meter.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vm_mmap.c Release the v_writecount reference on the vnode in case of error, 2013-03-28 06:39:27 +00:00
vm_object.c Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
vm_object.h Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
vm_page.c Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
vm_page.h The per-page act_count can be made very-easily protected by the 2013-04-08 20:02:27 +00:00
vm_pageout.c The per-page act_count can be made very-easily protected by the 2013-04-08 20:02:27 +00:00
vm_pageout.h Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
vm_pager.c Prepare to replace the buf splay with a trie: 2013-04-06 22:21:23 +00:00
vm_pager.h Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vm_param.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
vm_phys.c Make VM_NDOMAIN a kernel option so that it can be enabled from a kernel 2013-02-14 19:38:04 +00:00
vm_phys.h Move the declaration of vm_phys_paddr_to_vm_page() from vm/vm_page.h 2012-11-16 05:55:56 +00:00
vm_radix.c Although we perform path compression to reduce the height of the trie and 2013-04-15 06:12:00 +00:00
vm_radix.h Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
vm_reserv.c Sync back vmcontention branch into HEAD: 2013-03-18 00:25:02 +00:00
vm_reserv.h Introduce vm_reserv_alloc_contig() and teach vm_page_alloc_contig() how to 2011-12-05 18:29:25 +00:00
vm_unix.c - Improve readability of sys_obreak(). 2013-01-11 09:58:35 +00:00
vm_zeroidle.c Split P_NOLOAD into a per-thread flag (TDF_NOLOAD). 2009-11-03 16:46:52 +00:00
vnode_pager.c Fix the logic inversion in the r248512. 2013-03-20 09:44:23 +00:00
vnode_pager.h Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00