diff options
author | dyson <dyson@FreeBSD.org> | 1996-10-12 21:35:25 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-10-12 21:35:25 +0000 |
commit | 57b4eae0a1b560daffdf0c095a7bcc36bc137858 (patch) | |
tree | 1514d1dde20f9ca659b86662c3565290d775a93e /sys/kern/kern_exec.c | |
parent | 01549fd11d3bc0ad90ac3bf29fa51ab279360b55 (diff) | |
download | FreeBSD-src-57b4eae0a1b560daffdf0c095a7bcc36bc137858.zip FreeBSD-src-57b4eae0a1b560daffdf0c095a7bcc36bc137858.tar.gz |
Performance optimizations. One of which was meant to go in before the
previous snap. Specifically, kern_exit and kern_exec now makes a
call into the pmap module to do a very fast removal of pages from the
address space. Additionally, the pmap module now updates the PG_MAPPED
and PG_WRITABLE flags. This is an optional optimization, but helpful
on the X86.
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 0fabc69..5a1767d 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_exec.c,v 1.45 1996/07/27 03:23:41 dyson Exp $ + * $Id: kern_exec.c,v 1.46 1996/07/30 03:08:34 dyson Exp $ */ #include <sys/param.h> @@ -368,6 +368,7 @@ exec_new_vmspace(imgp) if (vmspace->vm_shm) shmexit(imgp->proc); vm_map_remove(&vmspace->vm_map, 0, USRSTACK); + pmap_remove_pages(&vmspace->vm_pmap, 0, USRSTACK); /* Allocate a new stack */ error = vm_map_find(&vmspace->vm_map, NULL, 0, (vm_offset_t *)&stack_addr, |