129 *
130 * idle_cpu() is invoked when a cpu goes idle, and has nothing to do.
131 * disp_enq_thread() is invoked when a thread is placed on a run queue.
132 */
133 extern void (*idle_cpu)();
134 extern void (*disp_enq_thread)(struct cpu *, int);
135
136
137 extern int dispdeq(kthread_t *);
138 extern void dispinit(void);
139 extern void disp_add(sclass_t *);
140 extern int intr_active(struct cpu *, int);
141 extern int servicing_interrupt(void);
142 extern void preempt(void);
143 extern void setbackdq(kthread_t *);
144 extern void setfrontdq(kthread_t *);
145 extern void swtch(void);
146 extern void swtch_to(kthread_t *);
147 extern void swtch_from_zombie(void)
148 __NORETURN;
149 extern void dq_sruninc(kthread_t *);
150 extern void dq_srundec(kthread_t *);
151 extern void cpu_rechoose(kthread_t *);
152 extern void cpu_surrender(kthread_t *);
153 extern void kpreempt(int);
154 extern struct cpu *disp_lowpri_cpu(struct cpu *, struct lgrp_ld *, pri_t,
155 struct cpu *);
156 extern int disp_bound_threads(struct cpu *, int);
157 extern int disp_bound_anythreads(struct cpu *, int);
158 extern int disp_bound_partition(struct cpu *, int);
159 extern void disp_cpu_init(struct cpu *);
160 extern void disp_cpu_fini(struct cpu *);
161 extern void disp_cpu_inactive(struct cpu *);
162 extern void disp_adjust_unbound_pri(kthread_t *);
163 extern void resume(kthread_t *);
164 extern void resume_from_intr(kthread_t *);
165 extern void resume_from_zombie(kthread_t *)
166 __NORETURN;
167 extern void disp_swapped_enq(kthread_t *);
168 extern int disp_anywork(void);
169
170 #define KPREEMPT_SYNC (-1)
|
129 *
130 * idle_cpu() is invoked when a cpu goes idle, and has nothing to do.
131 * disp_enq_thread() is invoked when a thread is placed on a run queue.
132 */
133 extern void (*idle_cpu)();
134 extern void (*disp_enq_thread)(struct cpu *, int);
135
136
137 extern int dispdeq(kthread_t *);
138 extern void dispinit(void);
139 extern void disp_add(sclass_t *);
140 extern int intr_active(struct cpu *, int);
141 extern int servicing_interrupt(void);
142 extern void preempt(void);
143 extern void setbackdq(kthread_t *);
144 extern void setfrontdq(kthread_t *);
145 extern void swtch(void);
146 extern void swtch_to(kthread_t *);
147 extern void swtch_from_zombie(void)
148 __NORETURN;
149 extern void cpu_rechoose(kthread_t *);
150 extern void cpu_surrender(kthread_t *);
151 extern void kpreempt(int);
152 extern struct cpu *disp_lowpri_cpu(struct cpu *, struct lgrp_ld *, pri_t,
153 struct cpu *);
154 extern int disp_bound_threads(struct cpu *, int);
155 extern int disp_bound_anythreads(struct cpu *, int);
156 extern int disp_bound_partition(struct cpu *, int);
157 extern void disp_cpu_init(struct cpu *);
158 extern void disp_cpu_fini(struct cpu *);
159 extern void disp_cpu_inactive(struct cpu *);
160 extern void disp_adjust_unbound_pri(kthread_t *);
161 extern void resume(kthread_t *);
162 extern void resume_from_intr(kthread_t *);
163 extern void resume_from_zombie(kthread_t *)
164 __NORETURN;
165 extern void disp_swapped_enq(kthread_t *);
166 extern int disp_anywork(void);
167
168 #define KPREEMPT_SYNC (-1)
|