diff options
author | Bret Lambert <blambert@cvs.openbsd.org> | 2014-09-09 07:07:40 +0000 |
---|---|---|
committer | Bret Lambert <blambert@cvs.openbsd.org> | 2014-09-09 07:07:40 +0000 |
commit | 1f0361878be3a8e61b684d80415297f4d7d2d0fd (patch) | |
tree | b4ee1f0dd3dbb5a3e6dd66efffd1df05e59293ed /sys/uvm/uvm_pdaemon.c | |
parent | f07dd02054baec5315d6604039c9454a49238cd5 (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.c | 6 |
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 : |