Close T-GM and T-BC phc2sys clock synchronization race conditions#619
Close T-GM and T-BC phc2sys clock synchronization race conditions#619lack wants to merge 1 commit into
Conversation
Synchronizing the system clock too early can lead to large time offsets that settle slowly. By delaying phc2sys from running until the PHC is "reasonably synchronized" (ie within 1.0s offset of a trusted timesource), we ensure small offsets only which converge quickly. For OC and BC, this means delaying phc2sys until ptp4l offset is <1.0s (and in the case of mutli-profile BC, choosing the proper ptp4l to evaluate is key). In GM, we delay phc2sys until ts2phc offset is <1.0s. Cherry-picked from OCPBUGS-85586_phc2sys_ts2phc_race-4.22 (d2ff2d1) and adapted for the 4.21 codebase (no hardwareconfig, alias, or v2alpha1 APIs). Fixes: OCPBUGS-85586 Assisted-by: Claude Opus 4.6 and pi.dev Signed-off-by: Jim Ramsay <jramsay@redhat.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lack The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@lack: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Synchronizing the system clock too early can lead to large time offsets
that settle slowly. By delaying phc2sys from running until the PHC is
"reasonably synchronized" (ie within 1.0s offset of a trusted
timesource), we ensure small offsets only which converge quickly.
For OC and BC, this means delaying phc2sys until ptp4l offset is <1.0s
(and in the case of mutli-profile BC, choosing the proper ptp4l to
evaluate is key). In GM, we delay phc2sys until ts2phc offset is <1.0s.
Cherry-picked from OCPBUGS-85586_phc2sys_ts2phc_race-4.22 (d2ff2d1)
and adapted for the 4.21 codebase (no hardwareconfig, alias, or
v2alpha1 APIs).
Fixes: OCPBUGS-85586
Assisted-by: Claude Opus 4.6 and pi.dev
Signed-off-by: Jim Ramsay jramsay@redhat.com