freebsd-dev/sys/compat
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
..
freebsd32 add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls 2011-03-12 08:58:19 +00:00
ia32 Extend struct sysvec with new method sv_schedtail, which is used for an 2011-03-08 19:01:45 +00:00
linprocfs Fix some locking nits with the p_state field of struct proc: 2011-03-24 18:40:11 +00:00
linsysfs Remove no-op assignment. 2010-11-15 23:14:14 +00:00
linux Staticize functions which are not used somewhere else, move the 2011-03-15 13:40:47 +00:00
ndis Use the cprd_mem field when setting the start and length for a memory 2011-02-23 21:45:28 +00:00
netbsd
svr4 Extend struct sysvec with new method sv_schedtail, which is used for an 2011-03-08 19:01:45 +00:00
x86bios Remove custom interrupt dispatcher. This is a pointless micro-optimization 2011-03-09 16:16:38 +00:00