aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-03-21 10:25:43 -0400
committerJohannes Berg <johannes.berg@intel.com>2015-04-22 04:02:25 -0400
commit17c18bf880b2464851e5a2bca86521affc46c97e (patch)
tree3b200b80b2f494fe2084472204a93c4c51bc55b0 /net/mac80211/cfg.c
parenta839e463e84a02c0ea65ff61504b56a83e193078 (diff)
mac80211: add TX fastpath
In order to speed up mac80211's TX path, add the "fast-xmit" cache that will cache the data frame 802.11 header and other data to be able to build the frame more quickly. This cache is rebuilt when external triggers imply changes, but a lot of the checks done per packet today are simplified away to the check for the cache. There's also a more detailed description in the code. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 265e42721a66..4aa5e893cbaa 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -137,6 +137,9 @@ static int ieee80211_set_noack_map(struct wiphy *wiphy,
137 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); 137 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
138 138
139 sdata->noack_map = noack_map; 139 sdata->noack_map = noack_map;
140
141 ieee80211_check_fast_xmit_iface(sdata);
142
140 return 0; 143 return 0;
141} 144}
142 145
@@ -2099,10 +2102,14 @@ static int ieee80211_set_wiphy_params(struct wiphy *wiphy, u32 changed)
2099 int err; 2102 int err;
2100 2103
2101 if (changed & WIPHY_PARAM_FRAG_THRESHOLD) { 2104 if (changed & WIPHY_PARAM_FRAG_THRESHOLD) {
2105 ieee80211_check_fast_xmit_all(local);
2106
2102 err = drv_set_frag_threshold(local, wiphy->frag_threshold); 2107 err = drv_set_frag_threshold(local, wiphy->frag_threshold);
2103 2108
2104 if (err) 2109 if (err) {
2110 ieee80211_check_fast_xmit_all(local);
2105 return err; 2111 return err;
2112 }
2106 } 2113 }
2107 2114
2108 if ((changed & WIPHY_PARAM_COVERAGE_CLASS) || 2115 if ((changed & WIPHY_PARAM_COVERAGE_CLASS) ||