summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2003-01-08 12:29:59 +0000
committergrehan <grehan@FreeBSD.org>2003-01-08 12:29:59 +0000
commit8e6417022b92a6f3966e956a0c8ae3c74b19557c (patch)
treeb5ff8428dc8e8f5f953cc6413242c383c032fcde /sys/powerpc
parent7cefd40e0a470181cca1ce4645ea8a58ba5c9c21 (diff)
downloadFreeBSD-src-8e6417022b92a6f3966e956a0c8ae3c74b19557c.zip
FreeBSD-src-8e6417022b92a6f3966e956a0c8ae3c74b19557c.tar.gz
Add page queues locking to vunmapbuf().
Obtained from: sparc64 Approved by: benno
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/vm_machdep.c2
-rw-r--r--sys/powerpc/powerpc/vm_machdep.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c
index 39501fe..c5e4fa5 100644
--- a/sys/powerpc/aim/vm_machdep.c
+++ b/sys/powerpc/aim/vm_machdep.c
@@ -296,8 +296,10 @@ vunmapbuf(struct buf *bp)
npages = bp->b_npages;
pmap_qremove(trunc_page((vm_offset_t)bp->b_data),
npages);
+ vm_page_lock_queues();
for (pidx = 0; pidx < npages; pidx++)
vm_page_unhold(bp->b_pages[pidx]);
+ vm_page_unlock_queues();
bp->b_data = bp->b_saveaddr;
}
diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c
index 39501fe..c5e4fa5 100644
--- a/sys/powerpc/powerpc/vm_machdep.c
+++ b/sys/powerpc/powerpc/vm_machdep.c
@@ -296,8 +296,10 @@ vunmapbuf(struct buf *bp)
npages = bp->b_npages;
pmap_qremove(trunc_page((vm_offset_t)bp->b_data),
npages);
+ vm_page_lock_queues();
for (pidx = 0; pidx < npages; pidx++)
vm_page_unhold(bp->b_pages[pidx]);
+ vm_page_unlock_queues();
bp->b_data = bp->b_saveaddr;
}
OpenPOWER on IntegriCloud