OS time synchronization is absolute time synchronization of the SmartNIC time stamp clock to the system OS time via the PCI bus (described in most of OS Time Synchronization), or synchronization of OS time to a Napatech SmartNIC installed in the server (described in Synchronization of OS time to a Napatech SmartNIC).
OS time synchronization can be individually enabled for each SmartNIC installed in a server. When enabled, the driver initializes the time stamp clock to the OS time at load time, and continuously regulates the clock to synchronize against the current OS time. The control loop runs every 500 milliseconds.
Convergence time in sliding mode
When sliding is configured using the TimeSyncHardReset parameter (see Enabling and Disabling Time Jumps), the convergence time to synchronization is approximately 500 times the skew between the SmartNIC time and the OS time. If the SmartNIC time is 1 second off the OS time, it takes 500 seconds to get the SmartNIC synchronized. If the skew is large, it may make sense to force the SmartNIC clock into synchronization. The application can force the SmartNIC clock to synchronization by using the NT_CONFIG_PARM_ADAPTER_TIMESYNC_RESET parameter in the configuration stream with the NT_TIMESYNC_RESET_HARD_RESET_TIME_TO_REF command.
An example of a sudden jump in OS time occurs when the OS time is synchronized to NTP and the NTP server connection is lost for a long period and then comes back up.
Maximum time to obtain synchronization in jump mode
The maximum time it takes to obtain a stable saddle point within the jitter accuracy when jumping is allowed using TimeSyncHardReset is approximately 120 seconds.
Synchronization of OS time to a Napatech SmartNIC
The OS time can be synchronized to an NT SmartNIC installed in the server. The control loop runs every 500 milliseconds. Only one SmartNIC can be configured as the reference (see OS Time Synchronization to SmartNIC Clock Reference).