089abdad44
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 |
||
---|---|---|
.. | ||
adcreg.h | ||
ansi.h | ||
aout_machdep.h | ||
asm.h | ||
bscreg.h | ||
bswap.h | ||
bus.h | ||
cache_sh3.h | ||
cache_sh4.h | ||
cache.h | ||
cdefs.h | ||
clock.h | ||
coff_machdep.h | ||
cpgreg.h | ||
cpu.h | ||
cputypes.h | ||
dacreg.h | ||
db_machdep.h | ||
devreg.h | ||
disklabel.h | ||
elf_machdep.h | ||
endian_machdep.h | ||
endian.h | ||
exception.h | ||
float.h | ||
frame.h | ||
ieee.h | ||
ieeefp.h | ||
int_const.h | ||
int_fmtio.h | ||
int_limits.h | ||
int_mwgwtypes.h | ||
int_types.h | ||
intcreg.h | ||
intr.h | ||
limits.h | ||
lock.h | ||
locore.h | ||
Makefile | ||
math.h | ||
mcontext.h | ||
mmu_sh3.h | ||
mmu_sh4.h | ||
mmu.h | ||
param.h | ||
pcb.h | ||
pfcreg.h | ||
pmap.h | ||
pmc.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
pte.h | ||
ptrace.h | ||
reg.h | ||
rtcreg.h | ||
scifreg.h | ||
scireg.h | ||
setjmp.h | ||
sh_opcode.h | ||
signal.h | ||
stdarg.h | ||
tmureg.h | ||
types.h | ||
ubcreg.h | ||
userret.h | ||
va-sh.h | ||
varargs.h | ||
vmparam.h | ||
wdogvar.h | ||
wdtreg.h |