freebsd-src/sys/vm
Alan Cox 36daaecd04 Implement a variant locking scheme for vm maps: Access to system maps
is now synchronized by a mutex, whereas access to user maps is still
synchronized by a lockmgr()-based lock.  Why?  No single type of lock,
including sx locks, meets the requirements of both types of vm map.
Sometimes we sleep while holding the lock on a user map.  Thus, a
a mutex isn't appropriate.  On the other hand, both lockmgr()-based
and sx locks release Giant when a thread/process blocks during
contention for a lock.  This could lead to a race condition in a legacy
driver (that relies on Giant for synchronization) if it attempts to
kmem_malloc() and fails to immediately obtain the lock.  Fortunately,
we never sleep while holding a system map lock.
2002-12-31 19:38:04 +00:00
..
default_pager.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
device_pager.c o Lock accesses to the page queues. 2002-07-12 02:55:55 +00:00
phys_pager.c Increase the scope of the page queues lock in phys_pager_getpages(). 2002-12-27 06:09:56 +00:00
pmap.h Move pmap_collect() out of the machine-dependent code, rename it 2002-11-13 05:39:58 +00:00
swap_pager.c Hold the page queues lock when performing vm_page_flag_set(). 2002-12-18 04:02:02 +00:00
swap_pager.h This is David Schultz's swapoff code which I am finally able to commit. 2002-12-15 19:17:57 +00:00
uma.h Fix typo in comments (misspelled "necessary"). 2002-10-22 12:10:27 +00:00
uma_core.c - Wakeup the correct address when a zone is no longer full. 2002-11-18 08:27:14 +00:00
uma_dbg.c atomic_set_8 isn't MI. Instead, follow Jake's suggestions about 2002-11-11 11:50:03 +00:00
uma_dbg.h - Use my freebsd email alias in the copyright. 2002-09-19 06:05:32 +00:00
uma_int.h - Add support for machine dependant page allocation routines. MD code 2002-11-01 01:01:27 +00:00
vm.h Change the way ELF coredumps are handled. Instead of unconditionally 2002-12-16 19:24:43 +00:00
vm_contig.c - Hold the kernel_object's lock around vm_page_insert(..., kernel_object, 2002-12-23 20:39:15 +00:00
vm_extern.h o Merge vm_fault_wire() and vm_fault_user_wire() by adding a new parameter, 2002-07-24 19:47:56 +00:00
vm_fault.c Reduce the number of times that we acquire and release the page queues 2002-12-29 07:17:06 +00:00
vm_glue.c - Hold the page queues lock around vm_page_wakeup(). 2002-12-24 04:24:58 +00:00
vm_init.c Move the definitions of the hw.physmem, hw.usermem and hw.availpages 2002-11-07 23:57:17 +00:00
vm_kern.c - Mark the kernel_map as a system map immediately after its creation. 2002-12-30 05:55:41 +00:00
vm_kern.h o Make contigmalloc1() static. 2002-05-22 01:01:37 +00:00
vm_map.c Implement a variant locking scheme for vm maps: Access to system maps 2002-12-31 19:38:04 +00:00
vm_map.h Implement a variant locking scheme for vm maps: Access to system maps 2002-12-31 19:38:04 +00:00
vm_meter.c Eliminate some dead code. (Any possible use for this code died with 2002-12-23 04:35:38 +00:00
vm_mmap.c Lock page field accesses in mincore(). 2002-11-28 08:01:39 +00:00
vm_object.c - Remove vm_object_init2(). It is unused. 2002-12-29 21:01:14 +00:00
vm_object.h - Remove vm_object_init2(). It is unused. 2002-12-29 21:01:14 +00:00
vm_page.c Reduce the number of times that we acquire and release the page queues 2002-12-29 07:17:06 +00:00
vm_page.h - Remove vm_page_sleep_busy(). The transition to vm_page_sleep_if_busy(), 2002-12-19 07:23:46 +00:00
vm_pageout.c vm_pager_put_pages() takes VM_PAGER_* flags, not OBJPC_* flags. It just 2002-12-28 21:15:39 +00:00
vm_pageout.h This is David Schultz's swapoff code which I am finally able to commit. 2002-12-15 19:17:57 +00:00
vm_pageq.c o Remove dead and/or unused code. 2002-07-20 05:06:20 +00:00
vm_pager.c o Remove some long dead code: from revision 1.41 of vm/vm_pager.c 2002-07-01 02:38:05 +00:00
vm_pager.h Allow the VM object flushing code to cluster. When the filesystem syncer 2002-12-28 21:03:42 +00:00
vm_param.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
vm_swap.c This is David Schultz's swapoff code which I am finally able to commit. 2002-12-15 19:17:57 +00:00
vm_unix.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
vm_zeroidle.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
vnode_pager.c Allow the VM object flushing code to cluster. When the filesystem syncer 2002-12-28 21:03:42 +00:00
vnode_pager.h Remove __P. 2002-03-19 22:20:14 +00:00