freebsd-skq/sys/vm
Alan Cox 7b85f59183 Resurrect pmap_is_referenced() and use it in mincore(). Essentially,
pmap_ts_referenced() is not always appropriate for checking whether or
not pages have been referenced because it clears any reference bits
that it encounters.  For example, in mincore(), clearing the reference
bits has two negative consequences.  First, it throws off the activity
count calculations performed by the page daemon.  Specifically, a page
on which mincore() has called pmap_ts_referenced() looks less active
to the page daemon than it should.  Consequently, the page could be
deactivated prematurely by the page daemon.  Arguably, this problem
could be fixed by having mincore() duplicate the activity count
calculation on the page.  However, there is a second problem for which
that is not a solution.  In order to clear a reference on a 4KB page,
it may be necessary to demote a 2/4MB page mapping.  Thus, a mincore()
by one process can have the side effect of demoting a superpage
mapping within another process!
2010-04-24 17:32:52 +00:00
..
default_pager.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
device_pager.c Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
memguard.c Start copyright notice with /*- 2010-04-07 16:29:10 +00:00
memguard.h Start copyright notice with /*- 2010-04-07 16:29:10 +00:00
phys_pager.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
pmap.h Resurrect pmap_is_referenced() and use it in mincore(). Essentially, 2010-04-24 17:32:52 +00:00
redzone.c Fix REDZONE(9) on amd64 and perhaps other 64 bit targets -- ensure the space 2008-08-13 17:32:48 +00:00
redzone.h
sg_pager.c Mark the fake pages constructed by the OBJT_SG pager valid. This was 2009-08-29 02:17:40 +00:00
swap_pager.c Setting PG_REFERENCED on the requested page in swap_pager_getpages() is 2010-04-17 17:02:17 +00:00
swap_pager.h
uma_core.c (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
uma_dbg.c - Make the keg abstraction more complete. Permit a zone to have multiple 2009-01-25 09:11:24 +00:00
uma_dbg.h
uma_int.h - enable alignment on amd64 only 2010-03-22 22:39:32 +00:00
uma.h - Make the keg abstraction more complete. Permit a zone to have multiple 2009-01-25 09:11:24 +00:00
vm_contig.c Introduce the function kmem_alloc_attr(), which allocates kernel virtual 2010-04-09 02:39:20 +00:00
vm_extern.h o) Add a VM find-space option, VMFS_TLB_ALIGNED_SPACE, which searches the 2010-04-18 22:32:07 +00:00
vm_fault.c When OOM searches for a process to kill, ignore the processes already 2010-04-06 10:43:01 +00:00
vm_glue.c vm_thread_swapout() can safely dirty the page before rather than after 2010-04-19 00:18:14 +00:00
vm_init.c Align the start of the clean submap to a superpage boundary. Although 2010-02-21 22:23:13 +00:00
vm_kern.c o) Add a VM find-space option, VMFS_TLB_ALIGNED_SPACE, which searches the 2010-04-18 22:32:07 +00:00
vm_kern.h Enable the creation of a kmem map larger than 4GB. 2008-07-05 19:34:33 +00:00
vm_map.c o) Add a VM find-space option, VMFS_TLB_ALIGNED_SPACE, which searches the 2010-04-18 22:32:07 +00:00
vm_map.h o) Add a VM find-space option, VMFS_TLB_ALIGNED_SPACE, which searches the 2010-04-18 22:32:07 +00:00
vm_meter.c Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_mmap.c Resurrect pmap_is_referenced() and use it in mincore(). Essentially, 2010-04-24 17:32:52 +00:00
vm_object.c There is no justification for vm_object_split() setting PG_REFERENCED on a 2010-04-18 17:50:09 +00:00
vm_object.h VI_OBJDIRTY vnode flag mirrors the state of OBJ_MIGHTBEDIRTY vm object 2009-12-21 12:29:38 +00:00
vm_page.c vm_reserv_alloc_page() should never be called on an OBJT_SG object, just as 2010-04-05 06:23:31 +00:00
vm_page.h Align and pad the page queue and free page queue locks so that the linker 2009-10-04 18:53:10 +00:00
vm_pageout.c Eliminate an unnecessary call to pmap_remove_all(). If a page belongs to 2010-04-20 04:16:39 +00:00
vm_pageout.h Move the code for doing out-of-memory grass from vm_pageout_scan() 2008-09-29 19:45:12 +00:00
vm_pager.c Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_pager.h Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_param.h Fix CTL_VM_NAMES. 2007-10-16 11:32:57 +00:00
vm_phys.c Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vm_phys.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vm_reserv.c Previously, when vm_page_free_toq() was performed on a page belonging to 2009-04-11 09:09:00 +00:00
vm_reserv.h Introduce vm_reserv_reclaim_contig(). This function is used by 2008-04-06 18:09:28 +00:00
vm_unix.c Remove execute permission from the memory allocated by sbrk(). 2009-04-11 22:34:08 +00:00
vm_zeroidle.c Split P_NOLOAD into a per-thread flag (TDF_NOLOAD). 2009-11-03 16:46:52 +00:00
vm.h Replace VM_PROT_OVERRIDE_WRITE by VM_PROT_COPY. VM_PROT_OVERRIDE_WRITE has 2009-11-26 05:16:07 +00:00
vnode_pager.c Remove write-only variable. 2010-02-22 16:00:56 +00:00
vnode_pager.h Do not sleep for vnode lock while holding map lock in vm_fault. Try to 2009-02-08 20:23:46 +00:00