Context: the sysclock system enables switching between a feedforward
(FF) or traditional feedback (FB) paradigm for system timekeeping.
Both FB and FF clock families are always running (if FFCLOCK is defined).
Which is chosen to fill timestamp requests is selectable via sysctl.
Adopting consistent naming using {FB,FF} for sysclock related variables,
in particular SYSCLOCK_{FBCK,FFWD} --> SYSCLOCK_{FB,FF} .
Also, "feed-forward" --> "feedforward" for symmetry with feedback usage.
kern_tc.c:tc_setclock :
- bug: if sysclock is set to FFCLOCK, then the calls to nanotime and binuptime would be effected by FFclock. But as a core FBclock function, it must be completely coupled from the FFclock, especially at boot time when the FFclock is even initialised at this point. The change ensures only FB code is used.
kern_tc.c:tc_windup :
- bug: use proper FFclock reading functions to fill time_{second,uptime} to ensure leap seconds are accounted for.
kern_ffclock.c:sysctl_kern_sysclock_active :
- addition of verbosity to flag a change in the active sysclock: a rare and significant event.
Definition of {MS,MUS,NS,PS}_AS_BINFRAC constants to facilitate FFclock
error bound calculations and intelligibility.
Related bug fixes in kern_ffclock.c:ffclock_{abs,diff}time , where the
MUS_AS_BINFRAC value was used instead of PS_AS_BINFRAC.
kern_tc.c:sysclock_getsnapshot :
- bug: ffi->tick_time was assigned the wrong member
- bug: 1000000 factor in the wrong place in fbi->error calculation.
- bug: the MUS_AS_BINFRAC value was used instead of PS_AS_BINFRAC .
kern_tc.c:sysclock_snap2bintime :
- bug: wrong integer type passed to ffclock_convert_delta.
Addition of kernel configuration file FFCLOCK. This simply generates
the FFCLOCK symbol activating FFclock components within sysclock, and
in general.
Replacement of bcopy by equivalent memcpy throughout FFclock code for
consistency.
Whitespace adjustment to conform to style, and/or enhance readability.