summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_task.c
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2017-02-14 10:31:15 +0000
committermpi <mpi@openbsd.org>2017-02-14 10:31:15 +0000
commit9b1ed563285ff6714aac11bdd1309d0fca487c3e (patch)
treef8fbb5d864dfee931bdb871f570fea563918f0f1 /sys/kern/kern_task.c
parentGet rid of recursive splsoftnet()/splx() dances and convert a timeout to (diff)
downloadwireguard-openbsd-9b1ed563285ff6714aac11bdd1309d0fca487c3e.tar.xz
wireguard-openbsd-9b1ed563285ff6714aac11bdd1309d0fca487c3e.zip
Convert most of the manual checks for CPU hogging to sched_pause().
The distinction between preempt() and yield() stays as it is usueful to know if a thread decided to yield by itself or if the kernel told him to go away. ok tedu@, guenther@
Diffstat (limited to 'sys/kern/kern_task.c')
-rw-r--r--sys/kern/kern_task.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_task.c b/sys/kern/kern_task.c
index 7b0af79b6a5..f6dded07b89 100644
--- a/sys/kern/kern_task.c
+++ b/sys/kern/kern_task.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_task.c,v 1.18 2016/08/11 01:32:31 dlg Exp $ */
+/* $OpenBSD: kern_task.c,v 1.19 2017/02/14 10:31:15 mpi Exp $ */
/*
* Copyright (c) 2013 David Gwynne <dlg@openbsd.org>
@@ -288,7 +288,7 @@ taskq_thread(void *xtq)
while (taskq_next_work(tq, &work, tqsleep)) {
(*work.t_func)(work.t_arg);
- sched_pause();
+ sched_pause(yield);
}
mtx_enter(&tq->tq_mtx);