The Cuckoo Escapement: field report, kernel patch, dashboard
What the Raspberry Pi time-server guides get wrong on a Pi 4, with the measurements. The headline artifact is a four-line pps-gpio patch: PREEMPT_RT force-threads IRQ handlers, and pps-gpio takes its timestamp inside its handler, so the realtime kernel puts a scheduler between the electrical edge and the clock. IRQF_NO_THREAD takes RMS offset from 2468 ns to 199 ns. - kernel/ the patch - dashboard/ live status page (position hidden by default) - docs-site/ the write-up (Astro/Starlight, brass, no tutorial section)
This commit is contained in:
commit
6881489bf6
56 changed files with 10297 additions and 0 deletions
10
dashboard/deploy/caddy-affinity.conf
Normal file
10
dashboard/deploy/caddy-affinity.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# systemd drop-in: /etc/systemd/system/caddy.service.d/affinity.conf
|
||||
#
|
||||
# Keep Caddy off cpu0. The PPS interrupt is handled there and cannot be moved
|
||||
# (Pi 4 GPIO IRQs are demuxed via pinctrl-bcm2835 and refuse an smp_affinity),
|
||||
# so any work scheduled on cpu0 adds jitter to the PPS timestamp directly.
|
||||
# Caddy is mostly idle, but on this box cpu0 belongs to the clock. See
|
||||
# TIMING-NOTES.md.
|
||||
[Service]
|
||||
CPUAffinity=1
|
||||
Nice=10
|
||||
Loading…
Add table
Add a link
Reference in a new issue