aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2002-11-24 21:37:02 +0000
committerAlan Cox <alc@FreeBSD.org>2002-11-24 21:37:02 +0000
commit560d1fbc999be1dae282d77181e98b8bbe2315f3 (patch)
treebe7781b0625e6381db8b43d7a954de61637f7732 /sys
parent8f2ea21450408723c125ec776814210f210d08f9 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/vm_machdep.c6
-rw-r--r--sys/i386/i386/vm_machdep.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 14721f306038e..1f1e4002f6695 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -481,7 +481,6 @@ vunmapbuf(bp)
{
int pidx;
int npages;
- vm_page_t *m;
GIANT_REQUIRED;
@@ -491,9 +490,10 @@ vunmapbuf(bp)
npages = bp->b_npages;
pmap_qremove(trunc_page((vm_offset_t)bp->b_data),
npages);
- m = bp->b_pages;
+ vm_page_lock_queues();
for (pidx = 0; pidx < npages; pidx++)
- vm_page_unhold(*m++);
+ vm_page_unhold(bp->b_pages[pidx]);
+ vm_page_unlock_queues();
bp->b_data = bp->b_saveaddr;
}
diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c
index 14721f306038e..1f1e4002f6695 100644
--- a/sys/i386/i386/vm_machdep.c
+++ b/sys/i386/i386/vm_machdep.c
@@ -481,7 +481,6 @@ vunmapbuf(bp)
{
int pidx;
int npages;
- vm_page_t *m;
GIANT_REQUIRED;
@@ -491,9 +490,10 @@ vunmapbuf(bp)
npages = bp->b_npages;
pmap_qremove(trunc_page((vm_offset_t)bp->b_data),
npages);
- m = bp->b_pages;
+ vm_page_lock_queues();
for (pidx = 0; pidx < npages; pidx++)
- vm_page_unhold(*m++);
+ vm_page_unhold(bp->b_pages[pidx]);
+ vm_page_unlock_queues();
bp->b_data = bp->b_saveaddr;
}