diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-12-13 18:15:07 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-12-21 12:56:22 +0100 |
commit | 5414aa88aead04f1c54b4654f2e7e94384369527 (patch) | |
tree | b5b6a28da85cc1fbac5d84c69449c4e3405716e1 /target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch | |
parent | 4b52d895315e8416ab33e9276198428d7c0a1ba6 (diff) | |
download | upstream-5414aa88aead04f1c54b4654f2e7e94384369527.tar.gz upstream-5414aa88aead04f1c54b4654f2e7e94384369527.tar.bz2 upstream-5414aa88aead04f1c54b4654f2e7e94384369527.zip |
kernel: backport the upstream implementation of threaded NAPI to 5.4
The workqueue based implementation has a few corner cases and typically lower
performance than the upstream one
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 01bebc070c35d87c24a594fff7ee1911965759aa)
Diffstat (limited to 'target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch')
-rw-r--r-- | target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index b1ac7ffca0..45f643b650 100644 --- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1931,6 +1931,8 @@ struct net_device { +@@ -1927,6 +1927,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5498,6 +5498,9 @@ static enum gro_result dev_gro_receive(s +@@ -5538,6 +5538,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (netif_elide_gro(skb->dev)) goto normal; -@@ -7300,6 +7303,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7481,6 +7484,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7350,6 +7395,7 @@ static int __netdev_upper_dev_link(struc +@@ -7531,6 +7576,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7443,6 +7489,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7624,6 +7670,7 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8173,6 +8220,7 @@ int dev_set_mac_address(struct net_devic +@@ -8354,6 +8401,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; |