bionic (4) ffclock.4freebsd.gz

Provided by: freebsd-manpages_11.1-3_all bug

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 implements 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 concert 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 synchronisation 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 system 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 <jridoux@unimelb.edu.au> in collaboration with
     Darryl Veitch <dveitch@unimelb.edu.au> at the University of Melbourne under sponsorship from the FreeBSD
     Foundation.

     This manual page was written by Julien Ridoux <jridoux@unimelb.edu.au> and Lawrence Stewart
     <lstewart@FreeBSD.org>.