ramips: ethernet: Disable TSO support to improve stability
authorBaptiste Jonglez <git@bitsofnetworks.org>
Mon, 15 Feb 2021 09:12:59 +0000 (10:12 +0100)
committerBaptiste Jonglez <git@bitsofnetworks.org>
Mon, 15 Feb 2021 09:12:59 +0000 (10:12 +0100)
Stability of this Ethernet driver has been a long-standing issue, with
many people reporting frequent "transmit queue timeouts" and even
occasional crashes.

Disabling TSO in the driver helps with stability, although it is likely a
workaround and might not fix the issue completely.

There is a slight slowdown in forwarding performance for TCP packets
(75 kpps vs. 80 kpps with comparable CPU utilization), but this is still
enough to forward close to 1 Gbit/s of full-sized packets across multiple
flows.

Master is using a different ethernet driver, so this is not a backport.
Because of this different driver, the upcoming 21.02 release does not seem
to be affected by these stability issues.

Thanks to mrakotiq for the initial patch.

Fixes: FS#2628
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c

index 26a198fa2b486d658ad1b4651f20dfcfbf6c3c28..3d2866af3aa9d8c2285d56ab711a7b40c16e68dd 100644 (file)
@@ -143,8 +143,7 @@ static void mt7621_init_data(struct fe_soc_data *data,
 
        netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
                NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
-               NETIF_F_SG | NETIF_F_TSO |
-               NETIF_F_TSO6 | NETIF_F_IPV6_CSUM |
+               NETIF_F_SG | NETIF_F_IPV6_CSUM |
                NETIF_F_TSO_MANGLEID;
 }