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/vm | |
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/vm')
-rw-r--r-- | sys/vm/vm_pager.c | 4 | ||||
-rw-r--r-- | sys/vm/vm_zone.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c index 6cb678a..3a529b6 100644 --- a/sys/vm/vm_pager.c +++ b/sys/vm/vm_pager.c @@ -318,7 +318,7 @@ vm_pager_map_page(m) vm_offset_t kva; kva = kmem_alloc_wait(pager_map, PAGE_SIZE); - pmap_kenter(kva, VM_PAGE_TO_PHYS(m)); + pmap_qenter(kva, &m, 1); return (kva); } @@ -326,7 +326,7 @@ void vm_pager_unmap_page(kva) vm_offset_t kva; { - pmap_kremove(kva); + pmap_qremove(kva, 1); kmem_free_wakeup(pager_map, kva, PAGE_SIZE); } diff --git a/sys/vm/vm_zone.c b/sys/vm/vm_zone.c index a1b1d3c..5057b6e 100644 --- a/sys/vm/vm_zone.c +++ b/sys/vm/vm_zone.c @@ -386,7 +386,7 @@ _zget(vm_zone_t z) break; zkva = z->zkva + z->zpagecount * PAGE_SIZE; - pmap_kenter(zkva, VM_PAGE_TO_PHYS(m)); + pmap_qenter(zkva, &m, 1); bzero((caddr_t) zkva, PAGE_SIZE); z->zpagecount++; atomic_add_int(&zone_kmem_pages, 1); |