September 5, 2001 HARDCLOCK 9

### NAME

hardclock - real-time timer

### SYNOPSIS

```void` hardclock(```struct clockframe *`)

### DESCRIPTION

The hardclock(``) function gets called hz(9) times per second. It performs different tasks:

- 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)).

### SEE ALSO

adjtime(2), ntp_adjtime(2), signal(7), ntpd(8), callout(9), hz(9)