diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 3bba4be6a456..5a924b3aface 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -1,4 +1,4 @@ -/* $NetBSD: sched.h,v 1.36 2007/08/04 11:03:02 ad Exp $ */ +/* $NetBSD: sched.h,v 1.37 2007/09/21 01:50:36 rmind Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2002, 2007 The NetBSD Foundation, Inc. @@ -167,53 +167,51 @@ struct schedstate_percpu { #ifdef _KERNEL extern int schedhz; /* ideally: 16 */ -extern const int schedppq; struct proc; struct cpu_info; /* - * Common Scheduler Interface + * Common Scheduler Interface. */ /* Scheduler initialization */ -void sched_rqinit(void); /* Initialize runqueues */ -void sched_cpuattach(struct cpu_info *); /* Per-cpu initialisation */ -void sched_setup(void); /* Setup scheduler, e.g. kick off timeout driven events */ +void sched_init(void); +void sched_rqinit(void); +void sched_cpuattach(struct cpu_info *); +void sched_setup(void); -/* Main scheduler functions */ -void sched_tick(struct cpu_info *); /* Maybe resched after spc_ticks hardclock() ticks */ -void sched_schedclock(struct lwp *); /* Called from schedclock(), e.g. to handle priority adjustment */ +/* Time-driven enevents */ +void sched_tick(struct cpu_info *); +void schedclock(struct lwp *); +void sched_schedclock(struct lwp *); +void sched_pstats(void *); +void sched_pstats_hook(struct proc *, int); /* Runqueue-related functions */ -bool sched_curcpu_runnable_p(void); /* Indicate runnable processes on current CPU */ -struct lwp *sched_nextlwp(void); /* Select LWP to run on the CPU next */ -void sched_enqueue(struct lwp *, bool); /* Place a process on its runqueue */ -void sched_dequeue(struct lwp *); /* Remove a process from its runqueue */ +bool sched_curcpu_runnable_p(void); +void sched_dequeue(struct lwp *); +void sched_enqueue(struct lwp *, bool); +struct lwp * sched_nextlwp(void); /* Priority adjustment */ -void sched_nice(struct proc *, int); /* Recalc priority according to its nice value */ +void sched_nice(struct proc *, int); +pri_t sched_kpri(struct lwp *); -/* General helper functions */ -void sched_proc_fork(struct proc *, struct proc *); /* Inherit scheduling history */ -void sched_proc_exit(struct proc *, struct proc *); /* Chargeback parents */ -void sched_lwp_fork(struct lwp *); -void sched_lwp_exit(struct lwp *); -void sched_setrunnable(struct lwp *); /* Scheduler-specific actions for setrunnable() */ -void sched_print_runqueue(void (*pr)(const char *, ...)); /* Print runqueues in DDB */ -void sched_pstats_hook(struct proc *, int); +/* Handlers of fork and exit */ +void sched_proc_fork(struct proc *, struct proc *); +void sched_proc_exit(struct proc *, struct proc *); +void sched_lwp_fork(struct lwp *); +void sched_lwp_exit(struct lwp *); -/* Functions common to all scheduler implementations */ -pri_t sched_kpri(struct lwp *); -void sched_pstats(void *arg); +void setrunnable(struct lwp *); +void sched_setrunnable(struct lwp *); +void sched_print_runqueue(void (*pr)(const char *, ...)); -inline void resched_cpu(struct lwp *); /* Arrange reschedule */ -void setrunnable(struct lwp *); -void preempt(void); -int mi_switch(struct lwp *); - -void schedclock(struct lwp *); -void sched_init(void); +/* Dispatching */ +void preempt(void); +int mi_switch(struct lwp *); +inline void resched_cpu(struct lwp *); #endif /* _KERNEL */ #endif /* _SYS_SCHED_H_ */