Hi.
I'm optimizing a high NTP server accuracy project and one of the latest test willing to practice is reducing the PPS interrupt jitter. Checking the /proc/interrupt file, one can see that almost every system interrupt is being processed by the same CPU core, including the sensitive ones from PPS and UART (NMEA):
Using the kernel documentation (https://www.kernel.org/doc/html/latest/ ... inity.html), the commands returns I/O errors:
Using the latest Rpi 5 kernel:
What am I missing?
I'm optimizing a high NTP server accuracy project and one of the latest test willing to practice is reducing the PPS interrupt jitter. Checking the /proc/interrupt file, one can see that almost every system interrupt is being processed by the same CPU core, including the sensitive ones from PPS and UART (NMEA):
Code:
CPU0 CPU1 CPU2 CPU3 9: 0 0 0 0 GICv2 25 Level vgic 11: 0 0 0 0 GICv2 30 Level kvm guest ptimer 12: 0 0 0 0 GICv2 27 Level kvm guest vtimer 13: 27335 19073 22731 20463 GICv2 26 Level arch_timer 14: 709 0 0 0 GICv2 65 Level 107c013880.mailbox 21: 0 0 0 0 GICv2 119 Level DMA IRQ 22: 0 0 0 0 GICv2 120 Level DMA IRQ 23: 0 0 0 0 GICv2 121 Level DMA IRQ 24: 0 0 0 0 GICv2 122 Level DMA IRQ 26: 0 0 0 0 GICv2 48 Level arm-pmu 27: 0 0 0 0 GICv2 49 Level arm-pmu 28: 0 0 0 0 GICv2 50 Level arm-pmu 29: 0 0 0 0 GICv2 51 Level arm-pmu 38: 0 0 0 0 GICv2 261 Level PCIe PME, aerdrv106: 27889 0 0 0 rp1_irq_chip 6 Level eth0108: 1232 0 0 0 rp1_irq_chip 8 Level 1f00074000.i2c125: 1233 0 0 0 rp1_irq_chip 25 Level uart-pl011131: 0 0 0 0 rp1_irq_chip 31 Edge xhci-hcd:usb1136: 0 0 0 0 rp1_irq_chip 36 Edge xhci-hcd:usb3140: 7 0 0 0 rp1_irq_chip 40 Level dw_axi_dmac_platform161: 15612 0 0 0 GICv2 305 Level mmc0162: 0 0 0 0 107d508500.gpio 20 Edge pwr_button163: 0 0 0 0 GICv2 150 Level 107d004000.spi164: 0 0 0 0 intc@7d508380 1 Level 107d508200.i2c165: 0 0 0 0 intc@7d508380 2 Level 107d508280.i2c166: 1214 0 0 0 pinctrl-rp1 18 Edge pps@12.-1167: 0 0 0 0 GICv2 281 Level v3d_core0168: 0 0 0 0 GICv2 282 Level v3d_hub169: 0 0 0 0 GICv2 104 Level pispbe170: 0 0 0 0 GICv2 130 Level 1000800000.codec171: 0 0 0 0 interrupt-controller@7c502000 2 Level 107c580000.hvs172: 0 0 0 0 interrupt-controller@7c502000 9 Level 107c580000.hvs173: 0 0 0 0 interrupt-controller@7c502000 16 Level 107c580000.hvs174: 0 0 0 0 interrupt-controller@7d510600 7 Level vc4 hdmi hpd connected175: 0 0 0 0 interrupt-controller@7d510600 8 Level vc4 hdmi hpd disconnected176: 0 0 0 0 interrupt-controller@7d510600 2 Level vc4 hdmi cec rx177: 0 0 0 0 interrupt-controller@7d510600 1 Level vc4 hdmi cec tx178: 0 0 0 0 interrupt-controller@7d510600 14 Level vc4 hdmi hpd connected179: 0 0 0 0 interrupt-controller@7d510600 15 Level vc4 hdmi hpd disconnected180: 0 0 0 0 interrupt-controller@7d510600 12 Level vc4 hdmi cec rx181: 0 0 0 0 interrupt-controller@7d510600 11 Level vc4 hdmi cec tx182: 0 0 0 0 interrupt-controller@7c502000 1 Level 107c500000.mop183: 0 0 0 0 interrupt-controller@7c502000 0 Level 107c501000.moplet184: 0 0 0 0 GICv2 133 Level vc4 crtc185: 0 0 0 0 GICv2 142 Level vc4 crtcIPI0: 691 849 898 874 Rescheduling interruptsIPI1: 8120 15387 14926 17354 Function call interruptsIPI2: 0 0 0 0 CPU stop interruptsIPI3: 0 0 0 0 CPU stop (for crash dump) interruptsIPI4: 0 0 0 0 Timer broadcast interruptsIPI5: 0 0 0 0 IRQ work interruptsIPI6: 0 0 0 0 CPU wake-up interrupts
Code:
# cd /proc/irq/166# echo 4 > smp_affinity-bash: echo: write error: Input/output error
Code:
uname -aLinux rpi5b-ntp-gps 6.1.0-rpi8-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 GNU/Linux
Statistics: Posted by ReDaLeRt_PT — Fri Feb 02, 2024 11:14 am — Replies 0 — Views 34