summaryrefslogtreecommitdiffstats
path: root/sys/uvm/uvm_vnode.c
diff options
context:
space:
mode:
authoroga <oga@openbsd.org>2009-04-13 22:17:54 +0000
committeroga <oga@openbsd.org>2009-04-13 22:17:54 +0000
commit49b3ab21921db2d969b77504b0e73bf2fa4baed8 (patch)
tree95af5edb5b469413098854335d2ee73adff5a81e /sys/uvm/uvm_vnode.c
parentIgnore zero-sized regions from the BIOS memory map when reserving root PCI (diff)
downloadwireguard-openbsd-49b3ab21921db2d969b77504b0e73bf2fa4baed8.tar.xz
wireguard-openbsd-49b3ab21921db2d969b77504b0e73bf2fa4baed8.zip
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);