diff options
author | 2018-06-30 14:43:36 +0000 | |
---|---|---|
committer | 2018-06-30 14:43:36 +0000 | |
commit | 73dc9ed41e5e17f40235bc5d57c01c09dc7e76a2 (patch) | |
tree | 4597a90cf8d6148a651ef0cdccdb7569bc4ce12a /sys/kern/kern_sched.c | |
parent | revert ber.c r1.34, this break SNMPv3 authentication (diff) | |
download | wireguard-openbsd-73dc9ed41e5e17f40235bc5d57c01c09dc7e76a2.tar.xz wireguard-openbsd-73dc9ed41e5e17f40235bc5d57c01c09dc7e76a2.zip |
Don't steal processes from other CPUs if we're not scheduling processes on
a CPU.
ok deraadt@
Diffstat (limited to 'sys/kern/kern_sched.c')
-rw-r--r-- | sys/kern/kern_sched.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index f566795dc60..9de421f037a 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sched.c,v 1.48 2018/06/19 19:29:52 kettenis Exp $ */ +/* $OpenBSD: kern_sched.c,v 1.49 2018/06/30 14:43:36 kettenis Exp $ */ /* * Copyright (c) 2007, 2008 Artur Grabowski <art@openbsd.org> * @@ -471,6 +471,10 @@ sched_steal_proc(struct cpu_info *self) KASSERT((self->ci_schedstate.spc_schedflags & SPCF_SHOULDHALT) == 0); + /* Don't steal if we don't want to schedule processes in this CPU. */ + if (!cpuset_isset(&sched_all_cpus, self)) + return (NULL); + cpuset_copy(&set, &sched_queued_cpus); while ((ci = cpuset_first(&set)) != NULL) { |