aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2019-03-16 19:50:44 +0100
committerFelix Fietkau <nbd@nbd.name>2019-03-16 19:59:02 +0100
commit4cf1394f51ba4b28edab016e36fb0f7a1c208f30 (patch)
treeb4e35b4e35f2e72e37fcf5bf27e93517423d1b28 /package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch
parent1f68aac9d7b15013407afca581c5da09b45b9afa (diff)
downloadupstream-4cf1394f51ba4b28edab016e36fb0f7a1c208f30.tar.gz
upstream-4cf1394f51ba4b28edab016e36fb0f7a1c208f30.tar.bz2
upstream-4cf1394f51ba4b28edab016e36fb0f7a1c208f30.zip
mac80211: add a few performance improvement patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch')
-rw-r--r--package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch b/package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch
new file mode 100644
index 0000000000..95ab3ab9fb
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/356-mac80211-set-NETIF_F_LLTX-when-using-intermediate-tx.patch
@@ -0,0 +1,22 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 16 Mar 2019 18:01:53 +0100
+Subject: [PATCH] mac80211: set NETIF_F_LLTX when using intermediate tx
+ queues
+
+When using iTXQ, tx sequence number allocation and statistics are run at
+dequeue time. Because of that, it is safe to enable NETIF_F_LLTX, which
+allows tx handlers to run on multiple CPUs in parallel.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/mac80211/iface.c
++++ b/net/mac80211/iface.c
+@@ -1301,6 +1301,7 @@ static void ieee80211_if_setup(struct ne
+ static void ieee80211_if_setup_no_queue(struct net_device *dev)
+ {
+ ieee80211_if_setup(dev);
++ dev->features |= NETIF_F_LLTX;
+ #if LINUX_VERSION_IS_GEQ(4,3,0)
+ dev->priv_flags |= IFF_NO_QUEUE;
+ #else