diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-12-18 17:23:38 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-12-18 17:23:38 +0000 |
commit | 17d77908905a293ca8a3a0c6f6c11397918bb0bc (patch) | |
tree | b8960e174721a366125bde5b559ca258e1b26f4c | |
parent | 589062b2d0f220fa0ae9a1b0240874b11704b846 (diff) | |
download | upstream-17d77908905a293ca8a3a0c6f6c11397918bb0bc.tar.gz upstream-17d77908905a293ca8a3a0c6f6c11397918bb0bc.tar.bz2 upstream-17d77908905a293ca8a3a0c6f6c11397918bb0bc.zip |
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
-rw-r--r-- | package/mac80211/patches/540-mac80211_tx_optimization.patch | 14 |
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 0000000000..e239abd828 --- /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, |