summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_process.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2002-02-27 02:14:58 +0000
committerpeter <peter@FreeBSD.org>2002-02-27 02:14:58 +0000
commit2051cd9c724430c38a8e76a32a323a7d404939f8 (patch)
tree5ee1d79e142d6f6eb2ed6b2b88f37c237a296d0b /sys/kern/sys_process.c
parent653a9a574c2a54cdd18d7ca6430811b38927f68a (diff)
downloadFreeBSD-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/sys_process.c')
-rw-r--r--sys/kern/sys_process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index e15f191..02b75b9 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -278,14 +278,14 @@ proc_rwmem(struct proc *p, struct uio *uio)
vm_object_reference(object);
vm_map_lookup_done(tmap, out_entry);
- pmap_kenter(kva, VM_PAGE_TO_PHYS(m));
+ pmap_qenter(kva, &m, 1);
/*
* Now do the i/o move.
*/
error = uiomove((caddr_t)(kva + page_offset), len, uio);
- pmap_kremove(kva);
+ pmap_qremove(kva, 1);
/*
* release the page and the object
OpenPOWER on IntegriCloud