FreeBSD 5.3 crash (core with debug symbols available)
Matthew Dillon
dillon at apollo.backplane.com
Fri Mar 4 01:03:13 GMT 2005
The main reason we no longer swap the kernel stack is because there are
a whole lot of things we put on local thread stacks that other parts of the
system may reference even while the process is blocked. e.g. token
references, message structures, register or FP save state, and so forth.
I also intend to put cache related structures, such as range locks, on
the stack. I just didn't want to have to worry about it.
Besides, it only happened when a process was actually *SWAPPED* out, not
just heavily paged, and how often does *that* happen these days? Even
on a heavily loaded system only a handful of processes, mostly getty's
and long-idle interactive shells, might actually be swapped out. This
makes the memory savings minimal at best.
-Matt
More information about the freebsd-current
mailing list