summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-03-03 12:28:56 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-03-03 12:28:56 +0000
commitd934091efc7338ace8fe6aa8e39777e5aa6cb2b9 (patch)
tree5a5de4ab8fd5ca321824f33a38305a0e713998dc /sys
parent5266978adf910cf4e4f666a783f2cb092da976a5 (diff)
Allow the syncer to get pages from the pagedaemon reserve.
Otherwise we can end up in a situation where the syncer waits for pages and the pagedaemon waits for buffers.
Diffstat (limited to 'sys')
-rw-r--r--sys/uvm/uvm_page.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/uvm/uvm_page.c b/sys/uvm/uvm_page.c
index 6ffc4742ae3..fb648048774 100644
--- a/sys/uvm/uvm_page.c
+++ b/sys/uvm/uvm_page.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_page.c,v 1.11 2001/03/02 09:07:39 art Exp $ */
+/* $OpenBSD: uvm_page.c,v 1.12 2001/03/03 12:28:55 art Exp $ */
/* $NetBSD: uvm_page.c,v 1.23 1999/05/25 01:34:13 thorpej Exp $ */
/*
@@ -874,7 +874,8 @@ uvm_pagealloc_strat(obj, off, anon, flags, strat, free_list)
(obj && UVM_OBJ_IS_KERN_OBJECT(obj));
if ((uvmexp.free <= uvmexp.reserve_kernel && !use_reserve) ||
(uvmexp.free <= uvmexp.reserve_pagedaemon &&
- !(use_reserve && curproc == uvm.pagedaemon_proc)))
+ !(use_reserve && (curproc == uvm.pagedaemon_proc ||
+ curproc == syncerproc))))
goto fail;
again: