Re: [PATCH v4 2/4] pps: Drop the !NO_HZ_COMMON dependency from NTP_PPS

From: Rodolfo Giometti

Date: Wed Sep 30 2026 - 09:25:38 EST


Hi David,

On 30/09/2026 12:37, David Woodhouse wrote:
Three parts of the 2x2 grid are now at
• https://david.woodhou.se/ntptest-r64/tickful-1hz/
• https://david.woodhou.se/ntptest-r64/tickless-1hz/
• https://david.woodhou.se/ntptest-r64/tickless-5s/

The fourth is running now, about 90 minutes in. After which I might
play with that IRQF_HWTIMESTAMP thing, because they're *all* seeing a
bunch of late pulses (and the tickless ones are doing all the
timekeeping catchup before they even capture the pulse timestamp, some
of which gets hidden as common mode latency):

┌────────────────┬────────┬─────────┬─────────┬────────┐
│ cell │ p50 │ p95 │ p99 │ >3 µs │
├────────────────┼────────┼─────────┼─────────┼────────┤
│ tickless, 5 s │ 728 ns │ 4188 ns │ 4847 ns │ 14.5 % │
├────────────────┼────────┼─────────┼─────────┼────────┤
│ tickless, 1 Hz │ 294 ns │ 2258 ns │ 4837 ns │ 3.6 % │
├────────────────┼────────┼─────────┼─────────┼────────┤
│ tickful, 1 Hz │ 84 ns │ 1206 ns │ 4012 ns │ 2.0 % │
└────────────────┴────────┴─────────┴─────────┴────────┘

But ultimately, the hardpps discipline appears to be working fine with
full nohz idle, even when we dial down the pulse *itself* to 0.2Hz to
actually let the box sleep for 5s at a time.

Thanks for running the whole grid.

Could you put these numbers, with the fourth cell once it is done, in
the commit message of 2/4? They show both that hardpps works on a
tickless kernel and what it costs in timestamp latency, which is what
someone enabling NTP_PPS there will want to know.

At this point it could be fine for me, but before acking I'd like to
hear from the userland side, Miroslav for chrony and the ntpd folks,
since the change in ts_real is theirs to judge.

Ciao,

Rodolfo