diff options
author | alc <alc@FreeBSD.org> | 2002-07-27 04:30:46 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-07-27 04:30:46 +0000 |
commit | abf1927809587298b86fedccf6da4205e2b69bfc (patch) | |
tree | e9c8eeb27625d44a60fc1fc7d1cd5cc84a8258c2 /sys/vm | |
parent | adb5d44416f1cc1562b947b2a84821537aca2662 (diff) | |
download | FreeBSD-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.c | 2 |
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"); } |