git: 4c0bc591466f - main - man9: add hz(9) and hardclock(9)

John Baldwin jhb at FreeBSD.org
Fri Jun 18 15:18:21 UTC 2021


On 6/18/21 7:43 AM, Warner Losh wrote:
> The branch main has been updated by imp:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=4c0bc591466fd2731ba892269260b7dab74cfbad
> 
> commit 4c0bc591466fd2731ba892269260b7dab74cfbad
> Author:     Warner Losh <imp at FreeBSD.org>
> AuthorDate: 2021-06-18 14:39:42 +0000
> Commit:     Warner Losh <imp at FreeBSD.org>
> CommitDate: 2021-06-18 14:42:51 +0000
> 
>      man9: add hz(9) and hardclock(9)
>      
>      Document aspects of system time keeping. Hz is the nominal rate that we
>      interrupt the system and is known and the 'tick' period of 1 / hz.
>      hardclock is the routine that does various bits of timekeeping.  stathz
>      and profhz are documented as historical relics that are deprecated
>      and replaced by hwpmc.4 and others.
>      
>      Reviewed by:            phk@, mav@ and gnn@ (previous version)
>      Obtained from:          hardclock.9 from NetBSD (with FreeBSD adjustments)
>      Sponsored by:           Netflix
>      Differential Revision:  https://reviews.freebsd.org/D30802

The comments about stathz are wrong.  While profhz is obsolete and replaced by
hwpmc, statclock is not.  statclock is used to implement getrusage(), %CPU in
ps(1), and kern.cp_time (global and per-CPU stats for CPU usage breakdown you
see in top(1) for example).  hwpmc doesn't replace any of those.  OTOH, it's
also true that there's no real reason for anything outside of the actual timer
code to use stathz (or even profhz) unlike 'hz' which is still used to set
timeout tick values.

-- 
John Baldwin


More information about the dev-commits-src-all mailing list