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.2 |