From ec3ee0969e6ecf49a2c98ce96f6977906ada0553 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 30 Oct 2015 15:17:56 +0000 Subject: mac80211: update to wireless-testing 2015-10-26 Signed-off-by: Felix Fietkau SVN-Revision: 47286 --- ...inline-rate_control_rate_init-rate_contro.patch | 161 --------------------- 1 file changed, 161 deletions(-) delete mode 100644 package/kernel/mac80211/patches/306-mac80211-Deinline-rate_control_rate_init-rate_contro.patch (limited to 'package/kernel/mac80211/patches/306-mac80211-Deinline-rate_control_rate_init-rate_contro.patch') diff --git a/package/kernel/mac80211/patches/306-mac80211-Deinline-rate_control_rate_init-rate_contro.patch b/package/kernel/mac80211/patches/306-mac80211-Deinline-rate_control_rate_init-rate_contro.patch deleted file mode 100644 index 928c93b207..0000000000 --- a/package/kernel/mac80211/patches/306-mac80211-Deinline-rate_control_rate_init-rate_contro.patch +++ /dev/null @@ -1,161 +0,0 @@ -From: Denys Vlasenko -Date: Wed, 15 Jul 2015 14:56:06 +0200 -Subject: [PATCH] mac80211: Deinline rate_control_rate_init, - rate_control_rate_update - -With this .config: http://busybox.net/~vda/kernel_config, -after deinlining these functions have sizes and callsite counts -as follows: - -rate_control_rate_init: 554 bytes, 8 calls -rate_control_rate_update: 1596 bytes, 5 calls - -Total size reduction: about 11 kbytes. - -Signed-off-by: Denys Vlasenko -CC: John Linville -CC: Michal Kazior -CC: Johannes Berg -Cc: linux-wireless@vger.kernel.org -Cc: netdev@vger.kernel.org -CC: linux-kernel@vger.kernel.org ---- - ---- a/net/mac80211/rate.c -+++ b/net/mac80211/rate.c -@@ -29,6 +29,65 @@ module_param(ieee80211_default_rc_algo, - MODULE_PARM_DESC(ieee80211_default_rc_algo, - "Default rate control algorithm for mac80211 to use"); - -+void rate_control_rate_init(struct sta_info *sta) -+{ -+ struct ieee80211_local *local = sta->sdata->local; -+ struct rate_control_ref *ref = sta->rate_ctrl; -+ struct ieee80211_sta *ista = &sta->sta; -+ void *priv_sta = sta->rate_ctrl_priv; -+ struct ieee80211_supported_band *sband; -+ struct ieee80211_chanctx_conf *chanctx_conf; -+ -+ ieee80211_sta_set_rx_nss(sta); -+ -+ if (!ref) -+ return; -+ -+ rcu_read_lock(); -+ -+ chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); -+ if (WARN_ON(!chanctx_conf)) { -+ rcu_read_unlock(); -+ return; -+ } -+ -+ sband = local->hw.wiphy->bands[chanctx_conf->def.chan->band]; -+ -+ spin_lock_bh(&sta->rate_ctrl_lock); -+ ref->ops->rate_init(ref->priv, sband, &chanctx_conf->def, ista, -+ priv_sta); -+ spin_unlock_bh(&sta->rate_ctrl_lock); -+ rcu_read_unlock(); -+ set_sta_flag(sta, WLAN_STA_RATE_CONTROL); -+} -+ -+void rate_control_rate_update(struct ieee80211_local *local, -+ struct ieee80211_supported_band *sband, -+ struct sta_info *sta, u32 changed) -+{ -+ struct rate_control_ref *ref = local->rate_ctrl; -+ struct ieee80211_sta *ista = &sta->sta; -+ void *priv_sta = sta->rate_ctrl_priv; -+ struct ieee80211_chanctx_conf *chanctx_conf; -+ -+ if (ref && ref->ops->rate_update) { -+ rcu_read_lock(); -+ -+ chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); -+ if (WARN_ON(!chanctx_conf)) { -+ rcu_read_unlock(); -+ return; -+ } -+ -+ spin_lock_bh(&sta->rate_ctrl_lock); -+ ref->ops->rate_update(ref->priv, sband, &chanctx_conf->def, -+ ista, priv_sta, changed); -+ spin_unlock_bh(&sta->rate_ctrl_lock); -+ rcu_read_unlock(); -+ } -+ drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); -+} -+ - int ieee80211_rate_control_register(const struct rate_control_ops *ops) - { - struct rate_control_alg *alg; ---- a/net/mac80211/rate.h -+++ b/net/mac80211/rate.h -@@ -71,64 +71,10 @@ rate_control_tx_status_noskb(struct ieee - spin_unlock_bh(&sta->rate_ctrl_lock); - } - --static inline void rate_control_rate_init(struct sta_info *sta) --{ -- struct ieee80211_local *local = sta->sdata->local; -- struct rate_control_ref *ref = sta->rate_ctrl; -- struct ieee80211_sta *ista = &sta->sta; -- void *priv_sta = sta->rate_ctrl_priv; -- struct ieee80211_supported_band *sband; -- struct ieee80211_chanctx_conf *chanctx_conf; -- -- ieee80211_sta_set_rx_nss(sta); -- -- if (!ref) -- return; -- -- rcu_read_lock(); -- -- chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); -- if (WARN_ON(!chanctx_conf)) { -- rcu_read_unlock(); -- return; -- } -- -- sband = local->hw.wiphy->bands[chanctx_conf->def.chan->band]; -- -- spin_lock_bh(&sta->rate_ctrl_lock); -- ref->ops->rate_init(ref->priv, sband, &chanctx_conf->def, ista, -- priv_sta); -- spin_unlock_bh(&sta->rate_ctrl_lock); -- rcu_read_unlock(); -- set_sta_flag(sta, WLAN_STA_RATE_CONTROL); --} -- --static inline void rate_control_rate_update(struct ieee80211_local *local, -+void rate_control_rate_init(struct sta_info *sta); -+void rate_control_rate_update(struct ieee80211_local *local, - struct ieee80211_supported_band *sband, -- struct sta_info *sta, u32 changed) --{ -- struct rate_control_ref *ref = local->rate_ctrl; -- struct ieee80211_sta *ista = &sta->sta; -- void *priv_sta = sta->rate_ctrl_priv; -- struct ieee80211_chanctx_conf *chanctx_conf; -- -- if (ref && ref->ops->rate_update) { -- rcu_read_lock(); -- -- chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); -- if (WARN_ON(!chanctx_conf)) { -- rcu_read_unlock(); -- return; -- } -- -- spin_lock_bh(&sta->rate_ctrl_lock); -- ref->ops->rate_update(ref->priv, sband, &chanctx_conf->def, -- ista, priv_sta, changed); -- spin_unlock_bh(&sta->rate_ctrl_lock); -- rcu_read_unlock(); -- } -- drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); --} -+ struct sta_info *sta, u32 changed); - - static inline void *rate_control_alloc_sta(struct rate_control_ref *ref, - struct sta_info *sta, gfp_t gfp) -- cgit v1.2.3