NAME
hardclock —
real-time system clock
SYNOPSIS
#include
<sys/systm.h>
void
hardclock(struct clockframe
*frame);
DESCRIPTION
hardclock()
implements the real-time system clock, interrupting
hz(9)
times a second. The argument frame is an opaque,
machine dependent structure that encapsulates the previous machine
state.
hardclock()
performs a variety of time related housekeeping tasks, such as
- If the current process has virtual or profiling interval timers, update the timers and deliver appropriate signals.
- If there is no separate statistics clock, execute
statclock(). - Increment the time of day, implementing any adjustments requested by adjtime(2) or required as a result of running an NTP daemon or other configured external clock.
- Update the real-time timeout queue, calling
softclock() directly if the current interrupt priority is low enough.
CODE REFERENCES
hardclock() is implemented in the file
sys/kern/kern_clock.c.
SEE ALSO
adjtime(2), hz(9), microtime(9), spl(9), time(9), timeout(9)