freebsd-dev/sys/vm
Alan Cox d19ef81437 The synchronization provided by vm object locking has eliminated the
need for most calls to vm_page_busy().  Specifically, most calls to
vm_page_busy() occur immediately prior to a call to vm_page_remove().
In such cases, the containing vm object is locked across both calls.
Consequently, the setting of the vm page's PG_BUSY flag is not even
visible to other threads that are following the synchronization
protocol.

This change (1) eliminates the calls to vm_page_busy() that
immediately precede a call to vm_page_remove() or functions, such as
vm_page_free() and vm_page_rename(), that call it and (2) relaxes the
requirement in vm_page_remove() that the vm page's PG_BUSY flag is
set.  Now, the vm page's PG_BUSY flag is set only when the vm object
lock is released while the vm page is still in transition.  Typically,
this is when it is undergoing I/O.
2004-11-03 20:17:31 +00:00
..
default_pager.c
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 Move the buffer method vector (buf->b_op) to the bufobj. 2004-10-24 20:03:41 +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 Fix a INVARIANTS-only bug introduced in Revision 1.104: 2004-10-27 21:19:35 +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 Rework the way slab header storage space is calculated in UMA. 2004-07-29 15:25:40 +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 The synchronization provided by vm object locking has eliminated the 2004-11-03 20:17:31 +00:00
vm_extern.h For years, kmem_alloc_pageable() has been misused. Now that the last of 2004-07-25 20:08:59 +00:00
vm_fault.c Remove unnecessary check for curthread == NULL. 2004-10-17 20:29:28 +00:00
vm_glue.c The synchronization provided by vm object locking has eliminated the 2004-11-03 20:17:31 +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 Push Giant deep into vm_forkproc(), acquiring it only if the process has 2004-09-03 05:11:32 +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 The synchronization provided by vm object locking has eliminated the 2004-11-03 20:17:31 +00:00
vm_object.h Make the code and comments for vm_object_coalesce() consistent. 2004-07-25 07:48: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 The synchronization provided by vm object locking has eliminated the 2004-11-03 20:17:31 +00:00
vm_pageout.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +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 Move the buffer method vector (buf->b_op) to the bufobj. 2004-10-24 20:03:41 +00:00
vm_pager.h The demise of vm_pager_map_page() in revision 1.93 of vm/vm_pager.c permits 2004-04-08 19:08:49 +00:00
vm_param.h Second half of the dev_t cleanup. 2004-06-17 17:16:53 +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 Introduce a Boolean variable wakeup_needed to avoid repeated, unnecessary 2004-10-31 19:32:57 +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 Also check that the sectormask is bigger than zero. 2004-10-26 19:51:57 +00:00
vnode_pager.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00