Speeding up exit(2)?
cpghost
cpghost at cordula.ws
Sun Mar 15 03:01:45 PDT 2009
On Sun, Mar 15, 2009 at 10:27:53AM +0100, Wojciech Puchar wrote:
> > Not sure what's really going on there, but apparently, the process
> > reads in pages from swap that have been paged out previously
> > (according to top(1)).
>
> is it your program and you are sure it's on exit?
Every memory hungry program is concerned; and yes: it happens exactly
on exit.
> it's because the program is writted the way it's doing a lot of things
> (probably unneeded) on exit.
Have a look at what happens during exit:
/usr/src/sys/kern/kern_exit.c:exit1()
especially at the call to vm_waitproc():
/usr/src/sys/vm/vm_glue.c:vm_waitproc
which calls vmspace_exitfree():
/usr/src/sys/vm/vm_map.c:vmspace_exitfree()
Now, vmspace_exit() and vmspace_exitfree() ultimately call:
/usr/src/sys/vm/vm_map.c:vmspace_dofree()
It then goes deep into the bowels of vm amd pmap,
and that's the place where the pages are paged in
again (I think).
> not exit(2) itself
-cpghost.
--
Cordula's Web. http://www.cordula.ws/
More information about the freebsd-questions
mailing list