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