freebsd-skq/sys/vm
jeff 990ca74cdc Eliminate kmem_arena and kmem_object in preparation for further NUMA commits.
The arena argument to kmem_*() is now only used in an assert.  A follow-up
commit will remove the argument altogether before we freeze the API for the
next release.

This replaces the hard limit on kmem size with a soft limit imposed by UMA.  When
the soft limit is exceeded we periodically wakeup the UMA reclaim thread to
attempt to shrink KVA.  On 32bit architectures this should behave much more
gracefully as we exhaust KVA.  On 64bit the limits are likely never hit.

Reviewed by:	markj, kib (some objections)
Discussed with:	alc
Tested by:	pho
Sponsored by:	Netflix / Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D13187
2017-11-28 23:40:54 +00:00
..
_vm_radix.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
default_pager.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
device_pager.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
memguard.c Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
memguard.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
phys_pager.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pmap.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
redzone.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
redzone.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
sg_pager.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
swap_pager.c When the swap pager allocates space on disk, it requests contiguous 2017-11-28 17:46:03 +00:00
swap_pager.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uma_core.c Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
uma_dbg.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
uma_dbg.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
uma_int.h Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
uma.h Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
vm_domain.c Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_domain.h Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_extern.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_fault.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
vm_glue.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_init.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_kern.c Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
vm_kern.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_map.c Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
vm_map.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_meter.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_mmap.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_object.c Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
vm_object.h Eliminate kmem_arena and kmem_object in preparation for further NUMA commits. 2017-11-28 23:40:54 +00:00
vm_page.c Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_page.h Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_pageout.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
vm_pageout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_pager.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_pager.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_param.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm_phys.c Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_phys.h Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_radix.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
vm_radix.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
vm_reserv.c Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_reserv.h Move domain iterators into the page layer where domain selection should take 2017-11-28 23:18:35 +00:00
vm_swapout_dummy.c Move swapout code into vm/vm_swapout.c. 2017-10-20 09:10:49 +00:00
vm_swapout.c Move swapout code into vm/vm_swapout.c. 2017-10-20 09:10:49 +00:00
vm_unix.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vm.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vnode_pager.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
vnode_pager.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00