freebsd-skq/sys/vm
alc ede2fb9751 In the common case, pmap_enter_quick() completes without sleeping.
In such cases, the busying of the page and the unlocking of the
containing object by vm_map_pmap_enter() and vm_fault_prefault() is
unnecessary overhead.  To eliminate this overhead, this change
modifies pmap_enter_quick() so that it expects the object to be locked
on entry and it assumes the responsibility for busying the page and
unlocking the object if it must sleep.  Note: alpha, amd64, i386 and
ia64 are the only implementations optimized by this change; arm,
powerpc, and sparc64 still conservatively busy the page and unlock the
object within every pmap_enter_quick() call.

Additionally, this change is the first case where we synchronize
access to the page's PG_BUSY flag and busy field using the containing
object's lock rather than the global page queues lock.  (Modifications
to the page's PG_BUSY flag and busy field have asserted both locks for
several weeks, enabling an incremental transition.)
2004-12-15 19:55:05 +00:00
..
default_pager.c Access the swap_pagers' ->putpages() through swappagerops instead 2003-08-06 12:05:48 +00:00
device_pager.c Use dev_re[fl]thread() to maintain a ref on the device driver while 2004-09-24 05:59:11 +00:00
phys_pager.c Zero the physical page only if it is invalid and not prezeroed. 2004-04-25 07:58:59 +00:00
pmap.h - pmap_kenter_temporary() is unused by machine-independent code. Therefore, 2004-04-10 22:41:46 +00:00
swap_pager.c Disable U area swapping and remove the routines that create, destroy, 2004-11-20 02:29:00 +00:00
swap_pager.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
uma_core.c Abstract the logic to look up the uma_bucket_zone given a desired 2004-11-06 11:43:30 +00:00
uma_dbg.c Fix critical stability problems that can cause UMA mbuf cluster 2004-10-08 20:19:29 +00:00
uma_dbg.h * Add a "how" argument to uma_zone constructors and initialization functions 2004-08-02 00:18:36 +00:00
uma_int.h Remove useless casts. 2004-11-26 15:04:26 +00:00
uma.h * Add a "how" argument to uma_zone constructors and initialization functions 2004-08-02 00:18:36 +00:00
vm_contig.c Try to close a potential, but serious race in our VM subsystem. 2004-11-24 18:56:13 +00:00
vm_extern.h Disable U area swapping and remove the routines that create, destroy, 2004-11-20 02:29:00 +00:00
vm_fault.c In the common case, pmap_enter_quick() completes without sleeping. 2004-12-15 19:55:05 +00:00
vm_glue.c Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
vm_init.c Remove dead code. A vm_map's first_free is never NULL (even if the map is 2004-08-07 05:58:31 +00:00
vm_kern.c Use VM_ALLOC_NOBUSY instead of calling vm_page_wakeup(). 2004-10-24 18:46:32 +00:00
vm_kern.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_map.c In the common case, pmap_enter_quick() completes without sleeping. 2004-12-15 19:55:05 +00:00
vm_map.h Replace the linear search in vm_map_findspace() with an O(log n) 2004-08-13 08:06:34 +00:00
vm_meter.c Put on my peril sensitive sunglasses and add a flags field to the internal 2004-10-11 22:04:16 +00:00
vm_mmap.c Don't clear flags we just checked were not set. 2004-10-26 05:57:29 +00:00
vm_object.c With the removal of kern/uipc_jumbo.c and sys/jumbo.h, 2004-12-08 05:01:47 +00:00
vm_object.h With the removal of kern/uipc_jumbo.c and sys/jumbo.h, 2004-12-08 05:01:47 +00:00
vm_page.c The synchronization provided by vm object locking has eliminated the 2004-11-03 20:17:31 +00:00
vm_page.h Introduce VM_ALLOC_NOBUSY, an option to vm_page_alloc() and vm_page_grab() 2004-10-24 06:15:36 +00:00
vm_pageout.c During traversal of the inactive queue, try locking the page's containing 2004-11-05 06:24:05 +00:00
vm_pageout.h Disable U area swapping and remove the routines that create, destroy, 2004-11-20 02:29:00 +00:00
vm_pageq.c Remove references to L1 in the comments, according to Alan they are 2004-06-07 19:33:05 +00:00
vm_pager.c Add pbgetbo()/pbrelbo() lighter weight versions of pbgetvp()/pbrelvp(). 2004-11-15 08:47:18 +00:00
vm_pager.h Improve readability with a bunch of typedefs for the pager ops. 2004-11-09 13:43:20 +00:00
vm_param.h #include <vm/vm_param.h> instead of <machine/vmparam.h> (the former 2004-11-08 18:20:02 +00:00
vm_unix.c Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_zeroidle.c Remove dangling variable 2004-11-06 11:33:11 +00:00
vm.h - Introduce and use a new tunable "debug.mpsafevm". At present, setting 2004-08-16 06:16:12 +00:00
vnode_pager.c Almost nine years ago, when support for 1TB files was introduced in 2004-12-07 22:05:38 +00:00
vnode_pager.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00