summaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-18 17:23:38 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-18 17:23:38 +0000
commitebed3dea7ad8e6232747b5c4cc44095472e3416a (patch)
treeb8960e174721a366125bde5b559ca258e1b26f4c /package/mac80211
parent5a304bac4e4bf4e03a75e4f79e1970395a5296b4 (diff)
mac80211: significantly reduce the cpu load caused by excessive skb header cloning
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24669 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/540-mac80211_tx_optimization.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/mac80211/patches/540-mac80211_tx_optimization.patch b/package/mac80211/patches/540-mac80211_tx_optimization.patch
new file mode 100644
index 000000000..e239abd82
--- /dev/null
+++ b/package/mac80211/patches/540-mac80211_tx_optimization.patch
@@ -0,0 +1,14 @@
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1549,8 +1549,10 @@ static int ieee80211_skb_resize(struct i
+
+ if (skb_header_cloned(skb))
+ I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
+- else
++ else if (head_need || tail_need)
+ I802_DEBUG_INC(local->tx_expand_skb_head);
++ else
++ return;
+
+ if (pskb_expand_head(skb, head_need, tail_need, GFP_ATOMIC)) {
+ wiphy_debug(local->hw.wiphy,