SCHED_ULE(4) BSD Kernel Interfaces Manual SCHED_ULE(4)NAME
sched_ule -- ULE scheduler
The sched_ule scheduler provides a number of advanced scheduler features not present in sched_4bsd(4), the traditional system scheduler.
These features address SMP and interactivity and include:
o Thread CPU affinity.
o CPU topology awareness, including for hyper-threading.
o Per-CPU run queues.
o Interactivity heuristics that detect interactive applications and schedules them preferentially under high load.
The following sysctls are relevant to the operation of sched_ule:
This read-only sysctl reports the name of the active scheduler.
This read-write sysctl reports or sets the length of the quantum (in micro-seconds) granted to a thread.
SEE ALSO sched_4bsd(4), sysctl(8)HISTORY
The sched_ule scheduler first appeared in FreeBSD 5.1.
Jeff Roberson <jeff@FreeBSD.org>
BSD August 10, 2012 BSD
Check Out this Related Man Page
SCHED_4BSD(9) BSD Kernel Developer's Manual SCHED_4BSD(9)NAME
sched_4bsd -- The 4.4BSD thread scheduler
sched_tick(struct cpu_info *ci);
sched_pstats_hook(struct proc *p, int minslp);
The traditional 4.4BSD scheduler employs a ``multilevel feedback queues'' algorithm, favouring interactive, short-running threads to CPU-
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().
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