freebsd-skq/sys/vm
attilio f9319cf885 Fix the nodes allocator in architectures without direct-mapping:
- Fix bugs in the free path where the pages were not unwired and
  relevant locking wasn't acquired.
- Introduce the rnode_map, submap of kernel_map, where to allocate from.
  The reason is that, in architectures without direct-mapping,
  kmem_alloc*() will try to insert the newly created mapping while
  holding the vm_object lock introducing a LOR or lock recursion.
  rnode_map is however a leafly-used submap, thus there cannot be any
  deadlock.
  Notes: Size the submap in order to be, by default, around 64 MB and
  decrase the size of the nodes as the allocation will be much smaller
  (and when the compacting code in the vm_radix will be implemented this
  will aim for much less space to be used).  However note that the
  size of the submap can be changed at boot time via the
  hw.rnode_map_scale scaling factor.
- Use uma_zone_set_max() covering the size of the submap.

Tested by:	flo
2012-03-16 15:41:07 +00:00
..
default_pager.c Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
device_pager.c Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
memguard.c MFC 2011-11-08 11:08:40 +00:00
memguard.h Make memguard(9) capable to guard uma(9) allocations. 2011-10-12 18:08:28 +00:00
phys_pager.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
pmap.h Sort function prototypes. 2011-01-16 20:40:50 +00:00
redzone.c MFC 2011-11-08 11:08:40 +00:00
redzone.h
sg_pager.c Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
swap_pager.c Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
swap_pager.h Implement the linprocfs swaps file, providing information about the 2011-08-01 19:12:15 +00:00
uma_core.c exclude kmem_alloc'ed ARC data buffers from kernel minidumps on amd64 2012-01-27 20:18:31 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h 1. Prior to r214782, UMA did not support multipage allocations before 2011-05-21 17:43:43 +00:00
uma.h exclude kmem_alloc'ed ARC data buffers from kernel minidumps on amd64 2012-01-27 20:18:31 +00:00
vm_contig.c exclude kmem_alloc'ed ARC data buffers from kernel minidumps on amd64 2012-01-27 20:18:31 +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 Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
vm_glue.c Move kstack_cache_entry into the private header, and make the 2011-12-16 10:56:16 +00:00
vm_init.c Use an UMA zone for the radix node. This avoids the problem to check 2011-10-28 01:56:36 +00:00
vm_kern.c Simplify kmem_alloc() by eliminating code that existed on account of 2012-02-29 05:41:29 +00:00
vm_kern.h
vm_map.c Simplify vmspace_fork()'s control flow by copying immutable data before 2012-02-25 17:49:59 +00:00
vm_map.h Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00
vm_meter.c - The previous commit (r228449) accidentally moved the vm.stats.vm.* sysctls 2011-12-14 13:25:00 +00:00
vm_mmap.c Eliminate stale incorrect ARGSUSED comments. 2012-03-02 17:33:51 +00:00
vm_object.c Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
vm_object.h MFC 2012-02-25 18:24:45 +00:00
vm_page.c Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
vm_page.h Remove the panic from vm_radix_insert() and propagate the error to the 2012-02-05 17:37:26 +00:00
vm_pageout.c Revert r212360 now that PowerPC can handle large sparse arguments to 2012-01-17 00:31:09 +00:00
vm_pageout.h vm_pageout_flush() might cache the pages that finished write to the 2010-11-18 21:09:02 +00:00
vm_pager.c Remove the condition that is always true. 2011-11-15 14:09:53 +00:00
vm_pager.h Update the device pager interface, while keeping the compatibility 2011-11-15 14:40:00 +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 Refactor the code that performs physically contiguous memory allocation, 2011-11-16 16:46:09 +00:00
vm_phys.h Refactor the code that performs physically contiguous memory allocation, 2011-11-16 16:46:09 +00:00
vm_radix.c Fix the nodes allocator in architectures without direct-mapping: 2012-03-16 15:41:07 +00:00
vm_radix.h - Exclude vm_radix_shrink() from the interface but retain the code 2012-03-01 00:54:08 +00:00
vm_reserv.c Fix a spot missed during the last merge. 2012-01-01 21:46:16 +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 Control the execution permission of the readable segments for 2011-10-15 12:35:18 +00:00
vm_zeroidle.c
vm.h Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
vnode_pager.c IFC at r232948 2012-03-14 00:41:37 +00:00
vnode_pager.h Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00