Man

Command Section
FFCLOCK(4)             FreeBSD 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 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
     <[email protected]> in collaboration with Darryl Veitch
     <[email protected]> at the University of Melbourne under sponsorship
     from the FreeBSD Foundation.

     This manual page was written by Julien Ridoux <[email protected]>
     and Lawrence Stewart <[email protected]>.

FreeBSD 11.1-RELEASE-p4        December 1, 2011        FreeBSD 11.1-RELEASE-p4
Command Section