summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_pdaemon.c
diff options
context:
space:
mode:
authorBret Lambert <blambert@cvs.openbsd.org>2014-09-09 07:07:40 +0000
committerBret Lambert <blambert@cvs.openbsd.org>2014-09-09 07:07:40 +0000
commit1f0361878be3a8e61b684d80415297f4d7d2d0fd (patch)
treeb4ee1f0dd3dbb5a3e6dd66efffd1df05e59293ed /sys/uvm/uvm_pdaemon.c
parentf07dd02054baec5315d6604039c9454a49238cd5 (diff)
Make the cleaner, syncer, pagedaemon, aiodone daemons all
yield() if the cpu is marked SHOULDYIELD. ok miod@ tedu@ phessler@
Diffstat (limited to 'sys/uvm/uvm_pdaemon.c')
-rw-r--r--sys/uvm/uvm_pdaemon.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/uvm/uvm_pdaemon.c b/sys/uvm/uvm_pdaemon.c
index 38cc8476f65..02827de793c 100644
--- a/sys/uvm/uvm_pdaemon.c
+++ b/sys/uvm/uvm_pdaemon.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_pdaemon.c,v 1.71 2014/07/12 09:02:24 kettenis Exp $ */
+/* $OpenBSD: uvm_pdaemon.c,v 1.72 2014/09/09 07:07:39 blambert Exp $ */
/* $NetBSD: uvm_pdaemon.c,v 1.23 2000/08/20 10:24:14 bjh21 Exp $ */
/*
@@ -273,6 +273,8 @@ uvm_pageout(void *arg)
/* scan done. unlock page queues (only lock we are holding) */
uvm_unlock_pageq();
+
+ sched_pause();
}
/*NOTREACHED*/
}
@@ -313,6 +315,8 @@ uvm_aiodone_daemon(void *arg)
(*bp->b_iodone)(bp);
splx(s);
bp = nbp;
+
+ sched_pause();
}
uvm_lock_fpageq();
wakeup(free <= uvmexp.reserve_kernel ? &uvm.pagedaemon :