summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sched.c
diff options
context:
space:
mode:
authorvisa <visa@openbsd.org>2017-11-28 16:22:27 +0000
committervisa <visa@openbsd.org>2017-11-28 16:22:27 +0000
commit64a91b3ea89ecff79eac55e7462b565657016c27 (patch)
tree940c27a99b9254983d1a31f5e9fb512f2e2e4df1 /sys/kern/kern_sched.c
parentThe divert structure was using the port number to indicate that (diff)
downloadwireguard-openbsd-64a91b3ea89ecff79eac55e7462b565657016c27.tar.xz
wireguard-openbsd-64a91b3ea89ecff79eac55e7462b565657016c27.zip
Raise the IPL of the sbar taskq to avoid lock order issues
with the kernel lock. Fixes a deadlock seen by Hrvoje Popovski and dhill@. OK mpi@, dhill@
Diffstat (limited to 'sys/kern/kern_sched.c')
-rw-r--r--sys/kern/kern_sched.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c
index 50c86ec3b01..54705ee5019 100644
--- a/sys/kern/kern_sched.c
+++ b/sys/kern/kern_sched.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sched.c,v 1.45 2017/02/12 04:55:08 guenther Exp $ */
+/* $OpenBSD: kern_sched.c,v 1.46 2017/11/28 16:22:27 visa Exp $ */
/*
* Copyright (c) 2007, 2008 Artur Grabowski <art@openbsd.org>
*
@@ -228,7 +228,7 @@ void
sched_init_runqueues(void)
{
#ifdef MULTIPROCESSOR
- sbartq = taskq_create("sbar", 1, IPL_NONE,
+ sbartq = taskq_create("sbar", 1, IPL_VM,
TASKQ_MPSAFE | TASKQ_CANTSLEEP);
if (sbartq == NULL)
panic("unable to create sbar taskq");