freebsd-skq/sys/vm
markj e25228e838 Update the checks in vm_page_zone_import().
- Remove the cnt == 1 check.  UMA passes cnt == 1 when it has disabled
  per-CPU caching.  In this case we might as well just allocate a single
  page and return it to the caller, since the caller is going to do
  exactly that anyway if the UMA cache allocation attempt fails.
- Don't replenish caches if the domain is severely short on free pages.
  With large buckets we may otherwise quickly exacerbate a situation
  where the page daemon is failing to keep up.
- Don't replenish caches if the calling thread belongs to the page
  daemon, which should avoid creating extra memory pressure when it is
  trying to free memory.  Virtually all such allocations while occur in
  the context of laundering, where the laundry thread must allocate
  slabs for various swap and I/O-related UMA zones.

Reviewed by:	kib
Discussed with:	alc, jeff
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D22394
2019-11-22 16:31:10 +00:00
..
_vm_radix.h
default_pager.c
device_pager.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00
memguard.c
memguard.h
phys_pager.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00
pmap.h Remove page locking from pmap_mincore(). 2019-10-16 22:03:27 +00:00
redzone.c
redzone.h
sg_pager.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00
swap_pager.c Simplify anonymous memory handling with an OBJ_ANON flag. This eliminates 2019-11-19 23:19:43 +00:00
swap_pager.h
uma_core.c Revise the page cache size policy. 2019-11-22 16:30:47 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h Extend uma_reclaim() to permit different reclamation targets. 2019-09-01 22:22:43 +00:00
uma.h Revise the page cache size policy. 2019-11-22 16:30:47 +00:00
vm_domainset.c
vm_domainset.h
vm_extern.h Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
vm_fault.c Simplify anonymous memory handling with an OBJ_ANON flag. This eliminates 2019-11-19 23:19:43 +00:00
vm_glue.c Revise the page cache size policy. 2019-11-22 16:30:47 +00:00
vm_init.c
vm_kern.c Apply mapping protections to preloaded kernel modules on amd64. 2019-10-18 13:56:45 +00:00
vm_kern.h
vm_map.c Instead of looking up a predecessor or successor to the current map 2019-11-20 16:06:48 +00:00
vm_map.h Instead of looking up a predecessor or successor to the current map 2019-11-20 16:06:48 +00:00
vm_meter.c Simplify anonymous memory handling with an OBJ_ANON flag. This eliminates 2019-11-19 23:19:43 +00:00
vm_mmap.c Define wrapper functions vm_map_entry_{succ,pred} to act as wrappers 2019-11-13 15:56:07 +00:00
vm_object.c Only keep anonymous objects on shadow lists. This eliminates locking of 2019-11-20 00:31:14 +00:00
vm_object.h Only keep anonymous objects on shadow lists. This eliminates locking of 2019-11-20 00:31:14 +00:00
vm_page.c Update the checks in vm_page_zone_import(). 2019-11-22 16:31:10 +00:00
vm_page.h Remove unnecessary object locking from the vnode pager. Recent changes to 2019-11-19 23:30:09 +00:00
vm_pageout.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00
vm_pageout.h Fix OOM handling of some corner cases. 2019-08-16 09:43:49 +00:00
vm_pagequeue.h Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
vm_pager.c Add couple more assertions to vm_pager_assert_in(). The bogus page is 2019-10-25 16:59:54 +00:00
vm_pager.h vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00
vm_param.h Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
vm_phys.c Remove unnecessary debugging from r351181 that caused powerpc build to fail. 2019-08-18 08:07:31 +00:00
vm_phys.h Encapsulate phys_avail manipulation in a set of simple routines. Add a 2019-08-18 07:06:31 +00:00
vm_radix.c
vm_radix.h
vm_reserv.c Fix locking in vm_reserv_reclaim_contig(). 2019-11-22 16:28:52 +00:00
vm_reserv.h Fix locking in vm_reserv_reclaim_contig(). 2019-11-22 16:28:52 +00:00
vm_swapout_dummy.c
vm_swapout.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00
vm_unix.c
vm.h
vnode_pager.c Remove unnecessary object locking from the vnode pager. Recent changes to 2019-11-19 23:30:09 +00:00
vnode_pager.h vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00