NTP Sync Quality — NTP Precision Accounting Test
Test Matrix
| Host | Instance | Tick Mode | Kernel | Description |
| A | i-0af5ab4f24fb27f23 | HZ_PERIODIC (1000Hz) | c40c2c121d0f | NTP precision patches + vmclock_host |
| B | i-087c029c2e38af9b2 | HZ_PERIODIC (1000Hz) | f5b37e3d96c1 | baseline (kvmclock5 only) |
| C | i-055d5d7f2a87b5c76 | NO_HZ_IDLE | c40c2c121d0f | NTP precision patches + vmclock_host |
| D | i-04bc451daa83780b2 | NO_HZ_IDLE | f5b37e3d96c1 | baseline (kvmclock5 only) |
Summary
- All hosts are c7i.metal-48xl in eu-west-1a, Fedora 43 Cloud, running kernel 7.1.0-rc4+
- NTP via chrony (default Fedora 43 configuration, no tuning) to Amazon Time Sync (stratum 2)
- Data collected every 30s via
chronyc tracking
- Started: 2026-05-23 ~08:19 UTC
- Patched kernel adds: NTP sub-nanosecond precision, NTP precision accounting infrastructure, vmclock_host device. Note: NTP precision accounting is not actively used by chrony in this test — any observable difference comes from the NTP precision patches alone.
- Baseline kernel: same tree minus the 10 NTP precision/vmclock commits
Test Restart — 2026-05-27
Data collection restarted with Amazon Time Sync Service correctly configured
(both 169.254.169.123 and fd00:ec2::123 as preferred servers). Previous Fedora 43
default chrony config did not include these; see
RHBZ#2482393.
IPv6 also enabled on all instances.
Observations (updated at t+3.5h, ~400 samples per host)
- Skew (PPM): Patched hosts show lower skew than their baseline counterparts (A=0.025 vs B=0.046; C=0.072 vs D=0.086 at t+90min). Periodic tick also helps (A < C, B < D). The gap was larger in the first few minutes and has narrowed as all hosts converge.
- RMS Offset: NOHZ_IDLE hosts (C, D) show ~3× higher cumulative RMS (~45µs) than periodic (A, B, ~14µs) over the first 3 hours. Patched is ~10% lower than baseline in both tick modes.
- Offset: All hosts settling to ±10–20µs. Initial transients (first ~10 minutes) dominate the early statistics.
- Allan Deviation (τ=30s): A=60ns, B=174ns, C=325ns, D=408ns. Patched periodic (A) is 3× more stable than baseline periodic (B). NOHZ patched (C) is ~20% better than NOHZ baseline (D). At τ=300s the pattern holds: A=20ns, B=52ns, C=111ns, D=131ns.
- Caveat: These observations are preliminary. Steady-state comparison requires 12+ hours of data after convergence.
Allan Deviation
Allan deviation measures clock stability at different averaging timescales.
Lower is better. A clock that's well-disciplined by NTP should show decreasing
ADEV at longer timescales (the servo corrects drift). The slope indicates the
dominant noise type (white noise = −½, flicker = 0, random walk = +½).
Time Series
The "RMS Offset (chrony)" panel shows chrony's internally-tracked RMS which uses an exponentially-weighted
history that predates our test window. The "RMS Offset (cumulative)" panel computes RMS directly from the
offset samples collected during this test, giving a fairer comparison unaffected by each host's different
convergence history.
Distribution (Box Plot)
CDF of Absolute Offset
Methodology
CSV columns from chronyc -c tracking:
Scripts
Raw Data
CSV Format
| Column | Description |
| offset_ns | Current offset from NTP source (instantaneous error) |
| freq_ppm | Frequency correction applied by chrony |
| rms_offset_ns | RMS of recent offsets (jitter measure) |
| skew_ppm | Rate of frequency change (stability measure) |
| root_delay_ns | Round-trip delay to stratum-1 |
| root_disp_ns | Estimated maximum error from root |
Data last fetched: —