netbsd man page for sched_4bsd

Query: sched_4bsd

OS: netbsd

Section: 9

Links: netbsd man pages   all man pages

Forums: unix linux community   forum categories

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

SCHED_4BSD(9)						   BSD Kernel Developer's Manual					     SCHED_4BSD(9)

NAME
sched_4bsd -- The 4.4BSD thread scheduler
SYNOPSIS
#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);
DESCRIPTION
The traditional 4.4BSD scheduler employs a ``multilevel feedback queues'' algorithm, favouring interactive, short-running threads to CPU- bound ones. 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().
CODE REFERENCES
The 4.4BSD scheduler subsystem is implemented within the file sys/kern/sched_4bsd.c.
SEE ALSO
csf(9), hardclock(9), mi_switch(9), sched_m2(9), userret(9) 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.
BSD
July 14, 2007 BSD
Related Man Pages
sched_4bsd(4) - debian
curpriority_cmp(9) - debian
maybe_resched(9) - debian
resetpriority(9) - debian
roundrobin_interval(9) - debian
Similar Topics in the Unix Linux Community
Schedule Real time threads
FreeBSD Kernel Internals, Dr. Marshall Kirk McKusick
FreeBSD Kernel Internals, Dr. Marshall Kirk McKusick