| SCHED_4BSD(9) | Kernel Developer's Manual | SCHED_4BSD(9) |
sched_4bsd —
#include <sys/sched.h>
void
resetpriority(lwp_t
*l);
void
sched_tick(struct
cpu_info *ci);
void
sched_schedclock(lwp_t
*l);
void
sched_pstats_hook(struct
proc *p, int
minslp);
void
sched_setrunnable(lwp_t
*l);
void
updatepri(lwp_t
*l);
resetpriority() recomputes the priority of
a thread running in user mode. If the resulting priority is higher than that
of the current thread, a reschedule is arranged.
sched_tick() gets called from
hardclock(9) every 100ms to
force a switch between equal priority threads.
The priority of the current thread is adjusted through
sched_schedclock(). The priority of a thread gets
worse as it accumulates CPU time.
sched_pstats_hook() gets called from
sched_pstats() every Hz ticks in order to recompute
the priorities of all threads.
sched_setrunnable() checks if an LWP has
slept for more than one second. If so, its priority is updated by
updatepri().
$ sysctl kern.sched.name kern.sched.name = 4.4BSD
Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, The Design and Implementation of the 4.4BSD Operating System, Addison Wesley, 1996.
| April 9, 2019 | NetBSD 9.0 |