Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F145017411
D30802.1777187747.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D30802.1777187747.diff
View Options
Index: share/man/man9/Makefile
===================================================================
--- share/man/man9/Makefile
+++ share/man/man9/Makefile
@@ -159,10 +159,12 @@
g_provider_by_name.9 \
groupmember.9 \
g_wither_geom.9 \
+ hardclock.9 \
hash.9 \
hashinit.9 \
hexdump.9 \
hhook.9 \
+ hz.9 \
ieee80211.9 \
ieee80211_amrr.9 \
ieee80211_beacon.9 \
@@ -1125,6 +1127,10 @@
hhook.9 hhook_run_hooks.9 \
hhook.9 HHOOKS_RUN_IF.9 \
hhook.9 HHOOKS_RUN_LOOKUP_IF.9
+MLINKS+=hz.9 profhz.9 \
+ hz.9 stathz.9 \
+ hz.9 tick.9 \
+ hz.9 tickadj.9
MLINKS+=ieee80211.9 ieee80211_ifattach.9 \
ieee80211.9 ieee80211_ifdetach.9
MLINKS+=ieee80211_amrr.9 ieee80211_amrr_choose.9 \
Index: share/man/man9/hardclock.9
===================================================================
--- /dev/null
+++ share/man/man9/hardclock.9
@@ -0,0 +1,100 @@
+.\" $NetBSD: hardclock.9,v 1.3 2010/03/25 15:17:38 jruoho Exp $
+.\"
+.\" Copyright (c) 2001 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Thomas Klausner.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd March 25, 2010
+.Dt HARDCLOCK 9
+.Os
+.Sh NAME
+.Nm hardclock
+.Nd real-time timer
+.Sh SYNOPSIS
+.Ft void
+.Fn hardclock "int cnt" "int usermode"
+.Sh DESCRIPTION
+The
+.Fn hardclock
+function is called
+.Xr hz 9
+times per second.
+It implements the real-time system clock.
+The argument
+.Va cnt
+is the estimated number of ticks since the last call to
+.Fn hardclock .
+The argument
+.Va usermode
+is none-zero when
+.Fn hardclock
+is called from a user-mode context.
+.Pp
+.Fn hardclock
+may perform different tasks such as:
+.Bl -bullet -offset indent
+.It
+Run the current process's virtual and profile time (decrease the
+corresponding timers, if they are activated, and generate
+.Li SIGVTALRM
+or
+.Li SIGPROF ,
+respectively).
+.It
+Increment the time-of-day, taking care of any
+.Xr ntpd 8
+or
+.Xr 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
+.Xr options 4 ) .
+.It
+Schedule softclock interrupts (
+.Xr swi 9 )
+processing.
+.It
+Collect
+.Xr hwpmc 4
+statistics.
+.It
+Do device polling, when enabled.
+.It
+Implement software
+.Xr watchdog 9
+processing.
+.It
+Enqueue
+.Xr epoch 9
+processing.
+.El
+.Sh SEE ALSO
+.Xr adjtime 2 ,
+.Xr ntp_adjtime 2 ,
+.Xr signal 3 ,
+.Xr ntpd 8 ,
+.Xr callout 9 ,
+.Xr hz 9
Index: share/man/man9/hz.9
===================================================================
--- /dev/null
+++ share/man/man9/hz.9
@@ -0,0 +1,99 @@
+.\"
+.\" Copyright (c) 2021 Netflix, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd June 18, 2021
+.Dt HZ 9
+.Os
+.Sh NAME
+.Nm hz ,
+.Nm tick ,
+.Nm stathz ,
+.Nm profhz
+.Nd system time model
+.Sh SYNOPSIS
+.In sys/kernel.h
+.Pp
+.Vt extern int hz;
+.Vt extern int tick;
+.Vt extern int stathz;
+.Vt extern int profhz;
+.Sh DESCRIPTION
+.Fx
+utilizes periodic, one-shot, global or per-CPU
+timing hardware using
+.Xr eventtimers 9
+to produce traditional clock behavior.
+.Pp
+The main clock is used to keep track of wall time and to pace periodic system
+callbacks.
+.Xr hardclock 9
+will be called approximately
+.Va hz
+times per second.
+.Pp
+The second clock is used to gather timing statistics, and kernel or user
+profiling.
+It fires randomly with a mean frequency of
+.Va stathz
+to avoid aliasing between it and the main clock.
+.Pp
+When profiling is enabled,
+.Xr setitimer 2
+with
+.Va ITIMER_PROF
+will fire at up to
+.Va profhz
+to produce higher resolution profiling information.
+.Pp
+.Va tick
+is the length of time in microseconds of one system tick.
+.Pp
+These system variables are also available as
+.Em struct clockinfo
+from
+.Xr sysctl 3
+and
+.Sy kern.clockrate
+from
+.Xr sysctl 8 .
+.Pp
+The
+.Va hz
+rate may be overridden by defining
+.Dv HZ
+in the kernel configuration file or setting
+.Sy kern.hz
+system tuneable via
+.Xr loader.conf 5 .
+.Pp
+The current default is 1000 Hz for a tick of 1 ms for real hardware.
+For virtual machine guests, the default is 100 Hz for a tick of 10 ms.
+Only override the default value if you really know what you are doing.
+.Sh SEE ALSO
+.Xr setitimer 2 ,
+.Xr loader.conf 5 ,
+.Xr eventtimers 9 ,
+.Xr hardclock 9 ,
+.Xr microtime 9 ,
+.Xr time_second 9
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Apr 26, 7:15 AM (14 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28431768
Default Alt Text
D30802.1777187747.diff (6 KB)
Attached To
Mode
D30802: man9: add hz(9) and hardclock(9)
Attached
Detach File
Event Timeline
Log In to Comment