Author :
stsp
Date :
2025-04-10 07:06:44
Hash :ade9dbe6 Message :always call ifq_restart() if ice_txeof() makes space on a full Tx ring
bluhm's udpbench tests have exposed a race where ice_txeof() makes space
on a full (OACTIVE) Tx ring, yet for some reason the OACTIVE flag is not
set while the interrupt handler is checking it.
The interrupt handler would then fail to call ifq_restart(), and the
driver would get stuck in OACTIVE state with no more traffic passing
until ifconfig down/up.
This patch is a workaround which makes all of bluhm's stress tests pass.
I will keep trying to find a better fix, but this workaround is good
enough for release.