SIMPLE SOLUTIONS

FFCLOCK(4FREEBSD) - man page online | special files

Feed-forward system clock.

Chapter
December 1, 2011
FFCLOCK(4)                         BSD Kernel Interfaces Manual                        FFCLOCK(4)

NAME

FFCLOCK — Feed-forward system clock

SYNOPSIS

options FFCLOCK

DESCRIPTION

The ntpd(8) daemon has been the dominant solution for system clock synchronisation for many years, which has in turn influenced the design of the system clock. The ntpd daemon imple‐ ments a feedback control algorithm which has been demonstrated to perform poorly in common use cases. Feed-forward clock synchronisation algorithms implemented by an appropriate daemon, in con‐ cert with the FFCLOCK kernel support, have been shown to provide highly robust and accurate clock synchronisation. In addition to time keeping, the FFCLOCK kernel mechanism provides new timestamping capabilities and the ability to use specialised clocks. Feed-forward syn‐ chronisation is also very well suited for virtualised environments, reducing the overhead of timekeeping in guests and ensuring continued smooth operation of the system clock during guest live migration. The FFCLOCK kernel support provides feed-forward timestamping functions within the kernel and system calls to support feed-forward synchronisation daemons (see ffclock(2)). Kernel Options The following kernel configuration options are related to FFCLOCK: FFCLOCK Enable feed-forward clock support. Configuration When feed-forward clock support is compiled into the kernel, multiple system clocks become available to choose from. System clock configuration is possible via the kern.sysclock sysctl(8) tree which provides the following variables: kern.sysclock.active Name of the current active system clock which is serving time. Set to one of the names in kern.sysclock.available in order to change the default active sys‐ tem clock. kern.sysclock.available Lists the names of available system clocks (read only). Feed-forward system clock configuration is possible via the kern.sysclock.ffclock sysctl tree which provides the following variables: kern.sysclock.ffclock.version Feed-forward clock kernel version (read only). kern.sysclock.ffclock.ffcounter_bypass Use reliable hardware timecounter as the feed-forward counter. Will eventually be useful for virtualised environment like xen(4), but currently does nothing.

SEE ALSO

clock_gettime(2), ffclock(2), bpf(4), timecounters(4), sysctl(8)

HISTORY

Feed-forward clock support first appeared in FreeBSD 10.0.

AUTHORS

The feed-forward clock support was written by Julien Ridoux <@unimelb.edu.au> in col‐ laboration with Darryl Veitch <@unimelb.edu.au> at the University of Melbourne under sponsorship from the FreeBSD Foundation. This manual page was written by Julien Ridoux <@unimelb.edu.au> and Lawrence Stewart <@FreeBSD.org>.
BSD December 1, 2011 BSD
This manual Reference Other manuals
ffclock(4freebsd) referred by timecounters(4freebsd)
refer to bpf(4freebsd) | clock_getres(2) | ffclock(2freebsd) | ntpd(8) | sysctl(8) | timecounters(4freebsd) | xen(4freebsd)