freebsd-skq/sys/vm
glebius 7f9db020a2 Merge from projects/counters: UMA_ZONE_PCPU zones.
These zones have slab size == sizeof(struct pcpu), but request from VM
enough pages to fit (uk_slabsize * mp_ncpus). An item allocated from such
zone would have a separate twin for each CPU in the system, and these twins
are at a distance of sizeof(struct pcpu) from each other. This magic value
of distance would allow us to make some optimizations later.

  To address private item from a CPU simple arithmetics should be used:

  item = (type *)((char *)base + sizeof(struct pcpu) * curcpu)

  These arithmetics are available as zpcpu_get() macro in pcpu.h.

  To introduce non-page size slabs a new field had been added to uma_keg
uk_slabsize. This shifted some frequently used fields of uma_keg to the
fourth cache line on amd64. To mitigate this pessimization, uma_keg fields
were a bit rearranged and least frequently used uk_name and uk_link moved
down to the fourth cache line. All other fields, that are dereferenced
frequently fit into first three cache lines.

Sponsored by:	Nginx, Inc.
2013-04-08 19:10:45 +00:00
..
_vm_radix.h Commit new file FreeBSD tags. 2013-03-17 23:53:06 +00:00
default_pager.c Rename VM_OBJECT_LOCK(), VM_OBJECT_UNLOCK() and VM_OBJECT_TRYLOCK() to 2013-02-20 12:03:20 +00:00
device_pager.c Merge from vmcontention. 2013-03-09 03:19:53 +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 Hide the details for the assertion for VM_OBJECT_LOCK operations. 2013-02-21 21:54:53 +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
redzone.h
sg_pager.c Merge from vmcontention. 2013-03-09 03:19:53 +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_core.c Merge from projects/counters: UMA_ZONE_PCPU zones. 2013-04-08 19:10:45 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h Merge from projects/counters: UMA_ZONE_PCPU zones. 2013-04-08 19:10:45 +00:00
uma.h Merge from projects/counters: UMA_ZONE_PCPU zones. 2013-04-08 19:10:45 +00:00
vm_extern.h
vm_fault.c Merge from vmcontention. 2013-03-09 03:19:53 +00:00
vm_glue.c Rename VM_OBJECT_LOCK(), VM_OBJECT_UNLOCK() and VM_OBJECT_TRYLOCK() to 2013-02-20 12:03:20 +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
vm_map.c MFC 2013-02-26 23:52:23 +00:00
vm_map.h - Get rid of unused function vmspace_wired_count(). 2013-01-14 12:12:56 +00:00
vm_meter.c Rename VM_OBJECT_LOCK(), VM_OBJECT_UNLOCK() and VM_OBJECT_TRYLOCK() to 2013-02-20 12:03:20 +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 Introduce vm_radix_is_empty(), and use it in place of 2013-03-10 17:30:57 +00:00
vm_object.h Introduce vm_radix_is_empty(), and use it in place of 2013-03-10 17:30:57 +00:00
vm_page.c Most allocation of pages to objects proceeds from lower to higher 2013-03-17 16:23:19 +00:00
vm_page.h Now that vm_page_cache_free() and vm_page_cache_transfer() are 2013-02-06 14:50:34 +00:00
vm_pageout.c Hide the details for the assertion for VM_OBJECT_LOCK operations. 2013-02-21 21:54:53 +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 Hide the details for the assertion for VM_OBJECT_LOCK operations. 2013-02-21 21:54:53 +00:00
vm_param.h
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 Micro-optimize the order of struct vm_radix_node's fields. Specifically, 2013-04-07 01:30:51 +00:00
vm_radix.h Commit new file FreeBSD tags. 2013-03-17 23:53:06 +00:00
vm_reserv.c The calls to vm_radix_lookup_ge() by vm_reserv_alloc_{contig,page}() can 2013-03-17 20:40:31 +00:00
vm_reserv.h
vm_unix.c - Improve readability of sys_obreak(). 2013-01-11 09:58:35 +00:00
vm_zeroidle.c
vm.h Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +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