Provided by: freebsd-manpages_12.2-1_all bug


     FFCLOCK — Feed-forward system clock


     options FFCLOCK


     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.

     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:

                 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.

                 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:

                 Feed-forward clock kernel version (read-only).

                 Use reliable hardware timecounter as the feed-forward counter.  Will eventually
                 be useful for virtualised environment like xen(4), but currently does nothing.


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


     Feed-forward clock support first appeared in FreeBSD 10.0.


     The feed-forward clock support was written by Julien Ridoux <> in
     collaboration with Darryl Veitch <> at the University of Melbourne
     under sponsorship from the FreeBSD Foundation.

     This manual page was written by Julien Ridoux <> and Lawrence Stewart