Manual browser: hardclock(9)

HARDCLOCK(9) Kernel Developer's Manual HARDCLOCK(9)


hardclockreal-time timer


hardclock(struct clockframe *frame);


The hardclock() function is called hz(9) times per second. It implements the real-time system clock. The argument frame is an opaque, machine-dependent structure that encapsulates the previous machine state.

The hardclock() performs different tasks such as:

  • Run the current process's virtual and profile time (decrease the corresponding timers, if they are activated, and generate SIGVTALRM or SIGPROF, respectively).
  • Increment the time-of-day, taking care of any ntpd(8) or adjtime(2) induced changes and leap seconds, as well as any necessary compensations to keep in sync with PPS signals or external clocks, if support for this is in the kernel (see options(4)).
  • Schedule softclock interrupts if any callouts should be triggered (see callout(9)).
March 25, 2010 NetBSD 7.0