summaryrefslogtreecommitdiffstats
path: root/sys/vm
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/vm
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/vm')
-rw-r--r--sys/vm/vm_pager.c4
-rw-r--r--sys/vm/vm_zone.c2
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);
OpenPOWER on IntegriCloud