aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2003-04-25 06:35:05 +0000
committerAlan Cox <alc@FreeBSD.org>2003-04-25 06:35:05 +0000
commit5299887de5972ef4e739d2f2619ccdb596c64f98 (patch)
treee44549f199655e9c514f0a7c5c67bb3fa29f404c
parentef812d2f3645686535709977cec923e36e836f54 (diff)
Notes
-rw-r--r--sys/vm/vm_page.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index d5b8a5c3fc81..8abde9656124 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -599,11 +599,11 @@ vm_page_remove(vm_page_t m)
vm_object_t object;
vm_page_t root;
- GIANT_REQUIRED;
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
if (m->object == NULL)
return;
-
+ if (!VM_OBJECT_LOCKED(m->object))
+ GIANT_REQUIRED;
if ((m->flags & PG_BUSY) == 0) {
panic("vm_page_remove: page not busy");
}
@@ -1030,7 +1030,6 @@ vm_page_free_toq(vm_page_t m)
struct vpgqueues *pq;
vm_object_t object = m->object;
- GIANT_REQUIRED;
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
s = splvm();
cnt.v_tfree++;