aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-5.15
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2022-06-24 09:09:02 +0200
committerRafał Miłecki <rafal@milecki.pl>2022-06-24 09:09:27 +0200
commitc6f16b63fa7f3a44cd4a71d7e195d6046d612075 (patch)
tree4cb8296e48831e8f57f1b7c69f0a52174062b8ee /target/linux/bcm53xx/patches-5.15
parentfcbd39689ebfef20c62fe3882d51f3af765e8028 (diff)
downloadupstream-c6f16b63fa7f3a44cd4a71d7e195d6046d612075.tar.gz
upstream-c6f16b63fa7f3a44cd4a71d7e195d6046d612075.tar.bz2
upstream-c6f16b63fa7f3a44cd4a71d7e195d6046d612075.zip
bcm53xx: copy patch disabling GRO to kernel 5.15
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/bcm53xx/patches-5.15')
-rw-r--r--target/linux/bcm53xx/patches-5.15/600-net-disable-GRO-by-default.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-5.15/600-net-disable-GRO-by-default.patch b/target/linux/bcm53xx/patches-5.15/600-net-disable-GRO-by-default.patch
new file mode 100644
index 0000000000..9f6343c791
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/600-net-disable-GRO-by-default.patch
@@ -0,0 +1,36 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 20 Jun 2022 10:01:18 +0200
+Subject: [PATCH] net: disable GRO by default
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In many cases GRO improves network performance however it comes at a
+cost of chacksums calculations. In case of slow CPU and missing hardware
+csum calculation support GRO can actually decrease network speed.
+
+On BCM4708 *disabling* GRO results in following NAT masquarade speed
+changes:
+1. 364 Mb/s → 396 Mb/s (packet steering disabled)
+2. 341 Mb/s → 566 Mb/s (packet steering enabled)
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+---
+ include/linux/netdev_features.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/linux/netdev_features.h
++++ b/include/linux/netdev_features.h
+@@ -242,10 +242,10 @@ static inline int find_next_netdev_featu
+ #define NETIF_F_UPPER_DISABLES NETIF_F_LRO
+
+ /* changeable features with no special hardware requirements */
+-#define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO)
++#define NETIF_F_SOFT_FEATURES (NETIF_F_GSO)
+
+ /* Changeable features with no special hardware requirements that defaults to off. */
+-#define NETIF_F_SOFT_FEATURES_OFF (NETIF_F_GRO_FRAGLIST | NETIF_F_GRO_UDP_FWD)
++#define NETIF_F_SOFT_FEATURES_OFF (NETIF_F_GRO_FRAGLIST | NETIF_F_GRO_UDP_FWD | NETIF_F_GRO)
+
+ #define NETIF_F_VLAN_FEATURES (NETIF_F_HW_VLAN_CTAG_FILTER | \
+ NETIF_F_HW_VLAN_CTAG_RX | \