hardclock(9)
Canonical URL: /hardclock.9/
HARDCLOCK(9)
Kernel Developer's Manual
HARDCLOCK(9)
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
OpenBSD 7.8 June
26, 2020 HARDCLOCK(9)
Need conceptual guidance? Continue in the OpenBSD Handbook.