1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/vm
Alan Cox 7a35a21e7b Reimplement the reclamation of PV entries. Specifically, perform
reclamation synchronously from get_pv_entry() instead of
asynchronously as part of the page daemon.  Additionally, limit the
reclamation to inactive pages unless allocation from the PV entry zone
or reclamation from the inactive queue fails.  Previously, reclamation
destroyed mappings to both inactive and active pages.  get_pv_entry()
still, however, wakes up the page daemon when reclamation occurs.  The
reason being that the page daemon may move some pages from the active
queue to the inactive queue, making some new pages available to future
reclamations.

Print the "reclaiming PV entries" message at most once per minute, but
don't stop printing it after the fifth time.  This way, we do not give
the impression that the problem has gone away.

Reviewed by: tegge
2005-11-09 08:19:21 +00:00
..
default_pager.c
device_pager.c Add a comment to the effect that fictitious pages do not require the 2005-06-10 17:27:54 +00:00
memguard.c
memguard.h
phys_pager.c
pmap.h Reimplement the reclamation of PV entries. Specifically, perform 2005-11-09 08:19:21 +00:00
swap_pager.c Make sure we have a bufobj before calling bstrategy(). 2005-09-21 15:01:09 +00:00
swap_pager.h
uma_core.c Change format string for u_int64_t to %ju from %llu, in order to use the 2005-10-20 21:28:31 +00:00
uma_dbg.c Improve canonicalization of copyrights. Order copyrights by order of 2005-07-16 09:51:52 +00:00
uma_dbg.h Improve canonicalization of copyrights. Order copyrights by order of 2005-07-16 09:51:52 +00:00
uma_int.h Wrap inlines in uma_int.h in #ifdef _KERNEL so that uma_int.h can be 2005-08-04 10:03:53 +00:00
uma.h As alc pointed out to me, vm_page.c 1.305 was incomplete: uma_startup() 2005-10-08 21:03:54 +00:00
vm_contig.c Check for marker pages when scanning active and inactive page queues. 2005-08-12 18:17:40 +00:00
vm_extern.h - Change the vm_mmap() function to accept an objtype_t parameter specifying 2005-04-01 20:00:11 +00:00
vm_fault.c Eliminate an incorrect cast. 2005-09-07 01:42:30 +00:00
vm_glue.c Use low level constructs borrowed from interrupt threads to wait for 2005-05-23 23:01:53 +00:00
vm_init.c Add the vm.exec_map_entries tunable and read-only sysctl, which controls 2005-04-25 19:22:05 +00:00
vm_kern.c
vm_kern.h
vm_map.c Pass a value of type vm_prot_t to pmap_enter_quick() so that it determine 2005-09-03 18:20:20 +00:00
vm_map.h
vm_meter.c Enable debug_mpsafevm on ia64 due to the severe functional regression 2005-05-08 23:56:16 +00:00
vm_mmap.c Move execve's access time update functionality into a new 2005-10-12 06:56:00 +00:00
vm_object.c Use of the ZERO_COPY_SOCKETS options can result in an unusual state that 2005-10-22 18:46:38 +00:00
vm_object.h - Add a new object flag "OBJ_NEEDSGIANT". We set this flag if the 2005-05-03 11:11:26 +00:00
vm_page.c If a physical page is mapped by two or more virtual addresses, transmitted 2005-11-08 06:33:21 +00:00
vm_page.h Don't perform a nested include of opt_vmpage.h if LIBMEMSTAT is defined, 2005-08-04 10:05:11 +00:00
vm_pageout.c Reimplement the reclamation of PV entries. Specifically, perform 2005-11-09 08:19:21 +00:00
vm_pageout.h
vm_pageq.c Introduce a procedure, pmap_page_init(), that initializes the 2005-06-10 03:33:36 +00:00
vm_pager.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
vm_pager.h Update some comments to reflect the change from spl-based to lock-based 2005-05-18 22:08:52 +00:00
vm_param.h
vm_unix.c
vm_zeroidle.c Trim a couple of unneeded includes. 2005-09-29 19:13:52 +00:00
vm.h - Change the vm_mmap() function to accept an objtype_t parameter specifying 2005-04-01 20:00:11 +00:00
vnode_pager.c Rate limit vnode_pager_putpages printfs to once a second. 2005-11-01 23:00:24 +00:00
vnode_pager.h