summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-21 20:38:45 +0000
committeralc <alc@FreeBSD.org>2002-07-21 20:38:45 +0000
commitb9718e8d793f5e9454d8b45a1d560669ad575eda (patch)
treedbc0a4d6ff3d9003fa8bd123c68107add79a0ea3 /sys/vm
parente3955115b6a79de38b21c9e1f73b3df6123cc261 (diff)
downloadFreeBSD-src-b9718e8d793f5e9454d8b45a1d560669ad575eda.zip
FreeBSD-src-b9718e8d793f5e9454d8b45a1d560669ad575eda.tar.gz
o Lock page queue accesses by vm_page_free().
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/swap_pager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 614fd48..7dc703c 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1053,6 +1053,7 @@ swap_pager_getpages(object, m, count, reqpage)
* free pages outside our collection range. Note: we never free
* mreq, it must remain busy throughout.
*/
+ vm_page_lock_queues();
{
int k;
@@ -1061,6 +1062,7 @@ swap_pager_getpages(object, m, count, reqpage)
for (k = j; k < count; ++k)
vm_page_free(m[k]);
}
+ vm_page_unlock_queues();
splx(s);
OpenPOWER on IntegriCloud