26 #include <sys/cdefs.h>
29 #include <sys/param.h>
30 #include <sys/systm.h>
31 #include <sys/kernel.h>
32 #include <sys/kthread.h>
34 #include <sys/mutex.h>
36 #include <sys/resourcevar.h>
37 #include <sys/sched.h>
38 #include <sys/unistd.h>
63 STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) {
67 RFSTOPPED | RFHIGHPID, 0,
"idle",
"idle: cpu%d", pc->pc_cpuid);
68 pc->pc_idlethread = td;
71 RFSTOPPED | RFHIGHPID, 0,
"idle",
"idle");
72 PCPU_SET(idlethread, td);
75 panic(
"idle_setup: kproc_create error %d\n", error);
79 td->td_flags |= TDF_IDLETD | TDF_NOLOAD;
void sched_prio(struct thread *td, u_char prio)
int kproc_kthread_add(void(*func)(void *), void *arg, struct proc **procptr, struct thread **tdptr, int flags, int pages, const char *procname, const char *fmt,...)
void panic(const char *fmt,...)
static void idle_setup(void *dummy)
void sched_class(struct thread *td, int class)
void sched_idletd(void *dummy)
SYSINIT(idle_setup, SI_SUB_SCHED_IDLE, SI_ORDER_FIRST, idle_setup, NULL)