| Host | Instance | Tick Mode | Kernel | Description |
|---|---|---|---|---|
| E | i-0bbd4d706b525b2c6 | HZ_PERIODIC (1000Hz) | 039461403d | NTP precision patches (v6 series) |
| F | i-0a1209b28c3b15800 | HZ_PERIODIC (1000Hz) | bc484a509673 | baseline (tip/timers/ptp) |
| G | i-051ba016b4648399a | NO_HZ_IDLE | 039461403d | NTP precision patches (v6 series) |
| H | i-06ff421ea34e6dc60 | NO_HZ_IDLE | bc484a509673 | baseline (tip/timers/ptp) |
7.233.99.247, DUB68), which is dual-socket: the two sockets (host:0 / host:1) have independent TSCs that differ by ~2.5 PPM. Patched-vs-baseline is therefore compared within a socket (shared TSC, shared NTP path); cross-socket frequency differences are a hardware artifact, not a kernel effect.chronyc trackingThe bare metal test showed clear differences between patched and baseline kernels, but confounders (different crystals, different thermal environments, different network paths) made it hard to attribute differences purely to the kernel patches. By placing all 4 VMs on the same physical host, we eliminate:
Any remaining differences must come from the kernel's timekeeping code or the tick configuration.
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.
Data collection restarted with clocksource set to acpi_pm on all
four virt hosts. This eliminates the TSC as a variable, testing the NTP precision
patches against a slower but independent hardware counter.
Restarted on the reworked v5 patch series — the generic NTP
precision commits being prepared for upstream posting as v5. Patched kernel
2fba787174cf (the 5-commit series tip), baseline
bc484a509673 (tip/timers/ptp), both based on 7.1.0-rc2+. Clocksource
remains acpi_pm on all four VMs. All host CSVs were truncated to a
common start time for this run.
Restarted on the reworked v6 patch series — now seven generic
NTP precision commits (the competing time_offset/time_adjust skew settlement added
since v5), being prepared for upstream posting as v6. Patched kernel
307b20f7dc0f, baseline bc484a509673, both based on
7.1.0-rc2+. Clocksource is now tsc on all four VMs (changed from
acpi_pm in the earlier runs) to test the v6 patches against the
default high-resolution counter. All host CSVs were truncated to a common start
time for this run.
Both kernels rebuilt with CONFIG_NO_HZ_IDLE (previously
CONFIG_HZ_PERIODIC), so the periodic-vs-nohz split is now real: E and F
boot with nohz=off (forced periodic, ~1000 LOC/s on every CPU), while
G and H boot tickless (idle CPUs drop to a handful of LOC/s). Earlier runs were
periodic on all four despite the labels. Also swapped the F and G instance
IDs so each physical socket hosts one patched + one baseline VM: this droplet
is dual-socket (host:0/host:1) and the two
sockets' TSCs differ by ~2.5 PPM, which previously confounded the
patched-vs-baseline comparison. Now socket host:1 = E (patched) + F
(baseline) on the periodic arm, and socket host:0 = G (patched) + H
(baseline) on the nohz arm — kernel flavour and TSC held constant within each socket.
All four kexec'd today and CSVs reset to a common start. Both deployed images also
carry a debug-instrumentation tracker (per-tick mult / skew /
xtime_rem / ntp_error accounting) on top of the series; the
patched tip is now 039461403d (rebased from the 2026-06-14
307b20f7dc0f).
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 = +½).
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.
Same methodology as the bare metal test. CSV columns from chronyc -c tracking:
| 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: —