r8169: enable GRO software interrupt coalescing per default
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 30 Nov 2022 22:30:15 +0000 (23:30 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Dec 2022 21:48:40 +0000 (21:48 +0000)
There are reports about r8169 not reaching full line speed on certain
systems (e.g. SBC's) with a 2.5Gbps link.
There was a time when hardware interrupt coalescing was enabled per
default, but this was changed due to ASPM-related issues on few systems.
So let's use software interrupt coalescing instead and enable it
using new function netdev_sw_irq_coalesce_default_on().

Even with these conservative settings interrupt load on my 1Gbps test
system reduced significantly.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169_main.c

index ec15788..a9dcc98 100644 (file)
@@ -5283,6 +5283,8 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        dev->hw_features |= NETIF_F_RXALL;
        dev->hw_features |= NETIF_F_RXFCS;
 
+       netdev_sw_irq_coalesce_default_on(dev);
+
        /* configure chip for default features */
        rtl8169_set_features(dev, dev->features);