NetBSD/sys
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
..
altq
arch Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
coda
compat off-by-one error in ary subscript. 2004-01-02 02:09:52 +00:00
conf Split opencrypto configuration into an attribute, usable by inkernel 2003-12-31 16:44:26 +00:00
crypto
ddb
dev Cosmetic changes. 2004-01-04 11:11:56 +00:00
fs
gdbscripts
ipkdb
kern Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
lib
lkm Try to spell "NetBSD" correctly... 2003-12-30 07:08:08 +00:00
miscfs
net Sysctl functions called for "generic" nodes should forward "query" 2003-12-28 22:36:37 +00:00
net80211
netatalk
netccitt
netinet Remove extra tokens at end of #undef directive. 2004-01-03 22:34:38 +00:00
netinet6 Niels Provos kindly agreed to drop clauses 3 and 4 from the 2003-12-26 19:04:55 +00:00
netipsec Split opencrypto configuration into an attribute, usable by inkernel 2003-12-31 16:44:26 +00:00
netisdn
netiso
netkey
netnatm
netns
netsmb
nfs
opencrypto Split opencrypto configuration into an attribute, usable by inkernel 2003-12-31 16:44:26 +00:00
stand
sys Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
ufs reintroduce compatbility defines for 2004-01-03 19:18:17 +00:00
uvm Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
Makefile