Skip to content

A ring left with a burst: the interrupt raised, the handler never run. Measured, 2026-10-21

Issue 361: with the trigger on, a few times an hour, a burst landed in one of the XGS 3300's receive rings and waited there until the receive watchdog's next sweep - up to a period, 50 ms - with TCP covering the gap every time. Two instrument builds on 2026-10-13 read the block's registers at such a stall: the ring's interrupt status set, the vector unmasked, nothing pending. The reading drawn from them - a status a visit had left up gives the next packet no edge - is withdrawn below. The ring was left clean; the block raised its interrupt; the host never ran the handler. Why the message does not arrive is still not known. What changed is that the host no longer waits for it: it looks at every ring's head buffer each tick.

The whole page, with how it was taken and what it does not show: A ring left with a burst: the interrupt raised, the handler never run. Measured, 2026-10-21.

Discussion

The discussion of this page is held in the project's GitHub Discussions. Showing it here loads giscus from giscus.app and GitHub, and writing in it needs a GitHub account - what that means.