summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-27 04:30:46 +0000
committeralc <alc@FreeBSD.org>2002-07-27 04:30:46 +0000
commitabf1927809587298b86fedccf6da4205e2b69bfc (patch)
treee9c8eeb27625d44a60fc1fc7d1cd5cc84a8258c2 /sys/vm
parentadb5d44416f1cc1562b947b2a84821537aca2662 (diff)
downloadFreeBSD-src-abf1927809587298b86fedccf6da4205e2b69bfc.zip
FreeBSD-src-abf1927809587298b86fedccf6da4205e2b69bfc.tar.gz
o Lock page queue accesses by vm_page_activate() and vm_page_deactivate().
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vnode_pager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index ec18c0d..913cb1e 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -817,6 +817,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage)
*/
relpbuf(bp, &vnode_pbuf_freecnt);
+ vm_page_lock_queues();
for (i = 0, tfoff = foff; i < count; i++, tfoff = nextoff) {
vm_page_t mt;
@@ -873,6 +874,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage)
}
}
}
+ vm_page_unlock_queues();
if (error) {
printf("vnode_pager_getpages: I/O read error\n");
}
OpenPOWER on IntegriCloud