[Bug 166724] if_re(4): watchdog timeout
[email protected] Sun, 19 Jul 2026 18:51:38 +0000
| Newsgroups | gmane.os.freebsd.devel.net |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D166724 --- Comment #141 from [email protected] --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D4bff6b9f5cef13df8540fa6869bd6707f= 8e7575d commit 4bff6b9f5cef13df8540fa6869bd6707f8e7575d Author: J=C3=A9r=C3=A9mie Jourdin <[email protected]> AuthorDate: 2026-07-19 18:42:22 +0000 Commit: Adrian Chadd <[email protected]> CommitDate: 2026-07-19 18:45:15 +0000 re(4): re-arm the Tx doorbell when re_txeof() leaves a non-empty ring On PCIe parts a TxPoll request can be lost when packets are queued in quick succession, leaving owned descriptors with no transfer in progress until the watchdog fires. re_txeof() runs from the interrupt handlers, re_tick() and re_watchdog(), so re-writing TXSTART whenever the ring is still non-empty turns a potential 5-second stall into at most one tick. One register write on a path that already took an interrupt; fast path untouched. * Sustained bidirectional load on RTL8168H; no Tx stalls, no throughput regression at 941 Mbps line rate. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58277 PR: kern/166724 sys/dev/re/if_re.c | 11 +++++++++++ 1 file changed, 11 insertions(+) --=20 You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug.=