freebsd-nq/sys/vm
John Baldwin 8e6fa660f2 Fix some locking nits with the p_state field of struct proc:
- Hold the proc lock while changing the state from PRS_NEW to PRS_NORMAL
  in fork to honor the locking requirements.  While here, expand the scope
  of the PROC_LOCK() on the new process (p2) to avoid some LORs.  Previously
  the code was locking the new child process (p2) after it had locked the
  parent process (p1).  However, when locking two processes, the safe order
  is to lock the child first, then the parent.
- Fix various places that were checking p_state against PRS_NEW without
  having the process locked to use PROC_LOCK().  Every place was already
  locking the process, just after the PRS_NEW check.
- Remove or reduce the use of PROC_SLOCK() for places that were checking
  p_state against PRS_NEW.  The PROC_LOCK() alone is sufficient for reading
  the current state.
- Reorder fill_kinfo_proc() slightly so it only acquires PROC_SLOCK() once.

MFC after:	1 week
2011-03-24 18:40:11 +00:00
..
default_pager.c Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
device_pager.c Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
memguard.c Change memguard_fudge() so that it can handle km_max being zero. Not 2010-12-14 05:47:35 +00:00
memguard.h The realloc case for memguard(9) will copy too many bytes when 2010-08-31 16:57:58 +00:00
phys_pager.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
pmap.h Sort function prototypes. 2011-01-16 20:40:50 +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 Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
swap_pager.c Change the return type of vmspace_swap_count to a long to match the other 2011-03-01 11:04:30 +00:00
swap_pager.h
uma_core.c - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +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 Add a new column to the output of vmstat -z to indicate the number 2010-06-15 19:28:37 +00:00
uma.h Change uma_zone_set_max to return the effective value of "nitems" after 2010-10-16 04:41:45 +00:00
vm_contig.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
vm_extern.h Move vm_object_print()'s prototype to the expected place. 2010-12-27 07:12:22 +00:00
vm_fault.c For some time now, the kernel and kmem objects have been ordinary 2011-01-15 19:21:28 +00:00
vm_glue.c Move repeated MAXSLP definition from machine/vmparam.h to sys/vmmeter.h. 2011-01-09 12:50:44 +00:00
vm_init.c Introduce exec_alloc_args(). The objective being to encapsulate the 2010-07-27 17:31:03 +00:00
vm_kern.c Since r218070 reenabled the call to vm_map_simplify_entry() from 2011-02-15 09:03:58 +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 - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
vm_map.h - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
vm_meter.c Fix some locking nits with the p_state field of struct proc: 2011-03-24 18:40:11 +00:00
vm_mmap.c Remove sysctl vm.max_proc_mmap used to protect from KVA space exhaustion. 2011-02-24 09:22:56 +00:00
vm_object.c Lock the vnode around clearing of VV_TEXT flag. Remove mp_fixme() note 2011-02-13 21:52:26 +00:00
vm_object.h Unless "cnt" exceeds MAX_COMMIT_COUNT, nfsrv_commit() and nfsvno_fsync() are 2011-02-05 21:21:27 +00:00
vm_page.c Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
vm_page.h Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
vm_pageout.c Fix some locking nits with the p_state field of struct proc: 2011-03-24 18:40:11 +00:00
vm_pageout.h vm_pageout_flush() might cache the pages that finished write to the 2010-11-18 21:09:02 +00:00
vm_pager.c Move the definition of M_VMPGDATA to the swap pager, where the only 2011-01-18 04:54:43 +00:00
vm_pager.h Move the definition of M_VMPGDATA to the swap pager, where the only 2011-01-18 04:54:43 +00:00
vm_param.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
vm_phys.c Explicitly wire the user buffer rather than doing it implicitly in 2011-01-27 00:34:12 +00:00
vm_phys.h Very rough first cut at NUMA support for the physical page allocator. For 2010-07-27 20:33:50 +00:00
vm_reserv.c Explicitly wire the user buffer rather than doing it implicitly in 2011-01-27 00:34:12 +00:00
vm_reserv.h
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 pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
vnode_pager.c Minimize the use of the page queues lock for synchronizing access to the 2010-06-02 15:46:37 +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