diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2008-10-23 23:54:03 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2008-10-23 23:54:03 +0000 |
commit | a589fbadefc286c5b9f79ad996596a1006bcdea3 (patch) | |
tree | 11917cdb46abf003114075e269bb90c39a4f349e /sys/uvm/uvm_extern.h | |
parent | 8cf2bd98977117b4f40fc8cc454c9784708fb9a0 (diff) |
a better fix for the "uvm_km thread runs out of memory" problem.
add a new arg to the backend so it can tell pool to slow down. when we get
this flag, yield *after* putting the page in the pool's free list. whatever
we do, don't let the thread sleep.
this makes things better by still letting the thread run when a huge pf
request comes in, but without artificially increasing pressure on the backend
by eating pages without feeding them forward.
ok deraadt
Diffstat (limited to 'sys/uvm/uvm_extern.h')
-rw-r--r-- | sys/uvm/uvm_extern.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h index f0e48816b5b..deedda2e841 100644 --- a/sys/uvm/uvm_extern.h +++ b/sys/uvm/uvm_extern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_extern.h,v 1.70 2008/06/09 20:30:23 miod Exp $ */ +/* $OpenBSD: uvm_extern.h,v 1.71 2008/10/23 23:54:02 tedu Exp $ */ /* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */ /* @@ -505,7 +505,7 @@ vaddr_t uvm_km_alloc_poolpage1(vm_map_t, struct uvm_object *, boolean_t); void uvm_km_free_poolpage1(vm_map_t, vaddr_t); -void *uvm_km_getpage(boolean_t); +void *uvm_km_getpage(boolean_t, int *); void uvm_km_putpage(void *); /* uvm_map.c */ |