BPI-R64 fully-tickless hardpps soak — 5 s GPS timepulse

Cortex-A53, 12.5 MHz counter, NO_HZ_IDLE, all periodic wakeup sources quiesced (vmstat, runtime-PM autosuspend, fair dl_server, ethernet pollers) — the only wakeup is the GPS pulse every 5 s. hardpps disciplines CLOCK_REALTIME via STA_PPSTIME with phase delivery scaled to 1/5 rate (matching the 5 s delivery window — the unscaled rate is unstable, gain −5). Kernel carries the timekeeping series; snapshot ntp_error captured in the PPS hardirq at every pulse.

6095 pulses over 8.5 h. Steady state (|ntp_error| at pulse, after 60 min): median 4 ns, p95 759 ns, p99 4281 ns, max 18180 ns. Corrected pulse phase: median 5.5 µs, p95 33.1 µs (irq-latency floor).

Per-pulse snapshot ntp_error

Pulse arrival phase (corrected ts_real)

Slew term attribution

Discipline state

Tickless gap verification

Methodology

This run is the test asked for on the list: hardpps on a tickless kernel driven by a real PPS source, with its real jitter and IRQ latency, and the CPU genuinely idle between pulses.

Data