Am 29.04.25 um 17:52 schrieb Maciej Fijalkowski: > Currently ixgbe driver checks periodically in its watchdog subtask if > there is anything to be transmitted (consdidering both Tx and XDP rings) > under state of carrier not being 'ok'. Such event is interpreted as Tx > hang and therefore results in interface reset. > > This is currently problematic for ndo_xdp_xmit() as it is allowed to > produce descriptors when interface is going through reset or its carrier > is turned off. > > Furthermore, XDP rings should not really be objects of Tx hang > detection. This mechanism is rather a matter of ndo_tx_timeout() being > called from dev_watchdog against Tx rings exposed to networking stack. > > Taking into account issues described above, let us have a two fold fix - > do not respect XDP rings in local ixgbe watchdog and do not produce Tx > descriptors in ndo_xdp_xmit callback when there is some problem with > carrier currently. For now, keep the Tx hang checks in clean Tx irq > routine, but adjust it to not execute it for XDP rings. > > Cc: Tobias Böhm <[email protected]> > Reported-by: Marcus Wichelmann <[email protected]> > Closes: > https://lore.kernel.org/netdev/[email protected]/ > Fixes: 6453073987ba ("ixgbe: add initial support for xdp redirect") > Fixes: 33fdc82f0883 ("ixgbe: add support for XDP_TX action") > Signed-off-by: Maciej Fijalkowski <[email protected]> > [...]
Hi, could you please consider submitting this patch (or a newer version) for being merged into mainline? This would help us not having to build our own kernels with this patch for forever. Thanks! Marcus
