summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2009-02-21 20:57:25 +0000
committeralc <alc@FreeBSD.org>2009-02-21 20:57:25 +0000
commit41927ea850d01215f1756c16d1bfa55f20e9fdbc (patch)
treea6f6b60484107d5688aef66e196c849ed2d797ff /sys/vm
parentef2c45517283867221ddf0db10565c7ca9c93bce (diff)
downloadFreeBSD-src-41927ea850d01215f1756c16d1bfa55f20e9fdbc.zip
FreeBSD-src-41927ea850d01215f1756c16d1bfa55f20e9fdbc.tar.gz
Reduce the scope of the page queues lock in vm_object_page_remove().
MFC after: 1 week
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_object.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index c74b760..2e7a7c3 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1869,7 +1869,6 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
vm_object_pip_add(object, 1);
again:
- vm_page_lock_queues();
if ((p = TAILQ_FIRST(&object->memq)) != NULL) {
if (p->pindex < start) {
p = vm_page_splay(start, object->root);
@@ -1877,6 +1876,7 @@ again:
p = TAILQ_NEXT(p, listq);
}
}
+ vm_page_lock_queues();
/*
* Assert: the variable p is either (1) the page with the
* least pindex greater than or equal to the parameter pindex
OpenPOWER on IntegriCloud