diff options
author | peter <peter@FreeBSD.org> | 2002-02-27 02:14:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-02-27 02:14:58 +0000 |
commit | 2051cd9c724430c38a8e76a32a323a7d404939f8 (patch) | |
tree | 5ee1d79e142d6f6eb2ed6b2b88f37c237a296d0b /sys/kern/kern_exec.c | |
parent | 653a9a574c2a54cdd18d7ca6430811b38927f68a (diff) | |
download | FreeBSD-src-2051cd9c724430c38a8e76a32a323a7d404939f8.zip FreeBSD-src-2051cd9c724430c38a8e76a32a323a7d404939f8.tar.gz |
Jake further reduced IPI shootdowns on sparc64 in loops by using ranged
shootdowns in a couple of key places. Do the same for i386. This also
hides some physical addresses from higher levels and has it use the
generic vm_page_t's instead. This will help for PAE down the road.
Obtained from: jake (MI code, suggestions for MD part)
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 3a1b56c..3bad53c 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -551,7 +551,7 @@ exec_map_first_page(imgp) vm_page_wire(ma[0]); vm_page_wakeup(ma[0]); - pmap_kenter((vm_offset_t) imgp->image_header, VM_PAGE_TO_PHYS(ma[0])); + pmap_qenter((vm_offset_t)imgp->image_header, ma, 1); imgp->firstpage = ma[0]; return 0; @@ -564,7 +564,7 @@ exec_unmap_first_page(imgp) GIANT_REQUIRED; if (imgp->firstpage) { - pmap_kremove((vm_offset_t) imgp->image_header); + pmap_qremove((vm_offset_t)imgp->image_header, 1); vm_page_unwire(imgp->firstpage, 1); imgp->firstpage = NULL; } |