summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_vnode.c
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2009-04-13 22:17:55 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2009-04-13 22:17:55 +0000
commitddba5a930262767119274bac07ae65c245715002 (patch)
treebea03f596d1c5f0ff42e5da3ad0f731804c42815 /sys/uvm/uvm_vnode.c
parent74b55ca1869536316e37de9b21e1fd50f2f9dd56 (diff)
Convert the page queue lock to a mutex instead of a simplelock.
Fix up the one case of lock recursion (which blatantly ignored the comment right above it saying that we don't need to lock). The rest of the lock usage has been checked and appears to be correct. ok ariane@.
Diffstat (limited to 'sys/uvm/uvm_vnode.c')
-rw-r--r--sys/uvm/uvm_vnode.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/uvm/uvm_vnode.c b/sys/uvm/uvm_vnode.c
index 138fb9dab22..1e06956e93e 100644
--- a/sys/uvm/uvm_vnode.c
+++ b/sys/uvm/uvm_vnode.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_vnode.c,v 1.54 2009/04/05 18:11:03 oga Exp $ */
+/* $OpenBSD: uvm_vnode.c,v 1.55 2009/04/13 22:17:54 oga Exp $ */
/* $NetBSD: uvm_vnode.c,v 1.36 2000/11/24 20:34:01 chs Exp $ */
/*
@@ -1127,7 +1127,10 @@ ReTry:
UVM_PAGE_OWN(ptmp, NULL);
if (ptmp->pg_flags & PG_RELEASED) {
- /* pgo_releasepg wants this */
+ /*
+ * pgo_releasepg needs to grab the
+ * pageq lock itself.
+ */
uvm_unlock_pageq();
if (!uvn_releasepg(ptmp, NULL))
return (TRUE);