mac80211: significantly reduce the cpu load caused by excessive skb header cloning
authorFelix Fietkau <nbd@openwrt.org>
Sat, 18 Dec 2010 17:23:38 +0000 (17:23 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 18 Dec 2010 17:23:38 +0000 (17:23 +0000)
SVN-Revision: 24669

package/mac80211/patches/540-mac80211_tx_optimization.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/540-mac80211_tx_optimization.patch b/package/mac80211/patches/540-mac80211_tx_optimization.patch
new file mode 100644 (file)
index 0000000..e239abd
--- /dev/null
@@ -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,