Module Name: src Committed By: pooka Date: Tue Jun 2 14:07:48 UTC 2015
Modified Files: src/sys/rump/librump/rumpkern: vm.c Log Message: In case pagedaemon can't release any more memory, use kpause() instead of cv_timedwait() on the pagedaemon condvar -- it's no use constantly waking the pagedaemon up for new memory allocation attempts, as will happen e.g. if new network connections are constantly pouring in. To generate a diff of this commit: cvs rdiff -u -r1.166 -r1.167 src/sys/rump/librump/rumpkern/vm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/librump/rumpkern/vm.c diff -u src/sys/rump/librump/rumpkern/vm.c:1.166 src/sys/rump/librump/rumpkern/vm.c:1.167 --- src/sys/rump/librump/rumpkern/vm.c:1.166 Sat Apr 18 15:49:18 2015 +++ src/sys/rump/librump/rumpkern/vm.c Tue Jun 2 14:07:48 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: vm.c,v 1.166 2015/04/18 15:49:18 pooka Exp $ */ +/* $NetBSD: vm.c,v 1.167 2015/06/02 14:07:48 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.166 2015/04/18 15:49:18 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.167 2015/06/02 14:07:48 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -1176,7 +1176,7 @@ uvm_pageout(void *arg) uvmexp.paging == 0) { rumpuser_dprintf("pagedaemoness: failed to reclaim " "memory ... sleeping (deadlock?)\n"); - cv_timedwait(&pdaemoncv, &pdaemonmtx, hz); + kpause("pddlk", false, hz, &pdaemonmtx); } }