summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sched.c
diff options
context:
space:
mode:
authorart <art@openbsd.org>2009-04-22 08:35:54 +0000
committerart <art@openbsd.org>2009-04-22 08:35:54 +0000
commit43311cbb18ff8bd491c715a240570122ea0cc4ba (patch)
tree772f34693cde3123249d5c5ba4df94a835a76eb4 /sys/kern/kern_sched.c
parentarguments following name description macros (.Nd) are usually lowercase. (diff)
downloadwireguard-openbsd-43311cbb18ff8bd491c715a240570122ea0cc4ba.tar.xz
wireguard-openbsd-43311cbb18ff8bd491c715a240570122ea0cc4ba.zip
When starting up idle, explicitly set p_cpu and the peg flag for the
idle proc. p_cpu might be necessary in the future and pegging is just to be extra safe (although we'll be horribly broken if the idle proc ever ends up where that flag is checked).
Diffstat (limited to 'sys/kern/kern_sched.c')
-rw-r--r--sys/kern/kern_sched.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c
index f7b58cd0b43..08694052d08 100644
--- a/sys/kern/kern_sched.c
+++ b/sys/kern/kern_sched.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sched.c,v 1.12 2009/04/20 08:48:17 art Exp $ */
+/* $OpenBSD: kern_sched.c,v 1.13 2009/04/22 08:35:54 art Exp $ */
/*
* Copyright (c) 2007, 2008 Artur Grabowski <art@openbsd.org>
*
@@ -120,6 +120,8 @@ sched_idle(void *v)
SCHED_LOCK(s);
cpuset_add(&sched_idle_cpus, ci);
p->p_stat = SSLEEP;
+ p->p_cpu = ci;
+ atomic_setbits_int(&p->p_flag, P_CPUPEG);
mi_switch();
cpuset_del(&sched_idle_cpus, ci);
SCHED_UNLOCK(s);