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/sys_process.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/sys_process.c')
-rw-r--r-- | sys/kern/sys_process.c | 4 |
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 |